!function(d,l){"use strict";var e=!1,o=!1;if(l.querySelector)if(d.addEventListener)e=!0;if(d.wp=d.wp||{},!d.wp.receiveEmbedMessage)if(d.wp.receiveEmbedMessage=function(e){var t=e.data;if(t)if(t.secret||t.message||t.value)if(!/[^a-zA-Z0-9]/.test(t.secret)){var r,a,i,s,n,o=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),c=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]');for(r=0;r0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}],[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut",function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)}]],e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};return $.each(t,function(t,s){i[s[0].split(" ").join(e+" ")+e]=s[1]}),i}var menuTrees=[],IE=!!window.createPopup,mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)};return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).bind(getEventsNS([["mouseover focusin",$.proxy(this.rootOver,this)],["mouseout focusout",$.proxy(this.rootOut,this)],["keydown",$.proxy(this.rootKeyDown,this)]],i)).delegate("a",getEventsNS([["mouseenter",$.proxy(this.itemEnter,this)],["mouseleave",$.proxy(this.itemLeave,this)],["mousedown",$.proxy(this.itemDown,this)],["focus",$.proxy(this.itemFocus,this)],["blur",$.proxy(this.itemBlur,this)],["click",$.proxy(this.itemClick,this)]],i)),i+=this.rootId,this.opts.hideOnClick&&$(document).bind(getEventsNS([["touchstart",$.proxy(this.docTouchStart,this)],["touchmove",$.proxy(this.docTouchMove,this)],["touchend",$.proxy(this.docTouchEnd,this)],["click",$.proxy(this.docClick,this)]],i)),$(window).bind(getEventsNS([["resize orientationchange",$.proxy(this.winResize,this)]],i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").unbind(e).undelegate(e),e+=this.rootId,$(document).unbind(e),$(window).unbind(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("ie-shim").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).is("a"))&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"block"==this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is("span.sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1;if(s&&!s.is(":visible")){if(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e),s.is(":visible"))return this.focusActivated=!0,!1}else if(this.isCollapsible()&&i)return this.itemActivate(e),this.menuHide(s),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("ie-shim")&&t.dataSM("ie-shim").remove().css({"-webkit-transform":"",transform:""}),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).unbind(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(this.$root.stop(!0,!0),this.$root.is(":visible")&&(this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration),this.$root.dataSM("ie-shim")&&this.$root.dataSM("ie-shim").remove())),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuIframeShim:function(t){IE&&this.opts.overlapControlsInIE&&!t.dataSM("ie-shim")&&t.dataSM("ie-shim",$("', inline_markup: '
{content}
', custom_markup: '', social_tools: '' }, pp_settings); var matchedObjects=this , percentBased=false , pp_dimensions , pp_open , pp_contentHeight , pp_contentWidth , pp_attributesWidth=(pp_settings.isShowAttributes ? parseFloat(pp_settings.attributesWidth):0) , pp_containerHeight , pp_containerWidth , windowHeight=$(window).height() , windowWidth=$(window).width() , pp_slideshow , doresize=true , scroll_pos=_get_scroll() , $selfPp=this; $selfPp.pp_settings=pp_settings; $(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){ _center_overlay(); _resize_overlay(); }); if(pp_settings.keyboard_shortcuts){ $(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){ if(typeof $pp_pic_holder!='undefined'){ if($pp_pic_holder.is(':visible')){ switch(e.keyCode){ case 37: $selfPp.changePage('previous'); e.preventDefault(); break; case 39: $selfPp.changePage('next'); e.preventDefault(); break; case 27: if(!settings.modal) $selfPp.close(); e.preventDefault(); break; };}; };}); }; $selfPp.refresh=function($imgList){ matchedObjects=$imgList; matchedObjects.off('click.prettyphoto').on('click.prettyphoto', this.initialize); } $selfPp.initialize=function(){ settings=pp_settings; if(settings.theme=='pp_default') settings.horizontal_padding=16; theRel=$(this).attr(settings.hook); galleryRegExp=/\[(?:.*)\]/; isSet=(galleryRegExp.exec(theRel)) ? true:false; pp_images=(isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel)!=-1) return $(n).attr('href'); }):$.makeArray($(this).attr('href')) ; pp_titles=(isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel)!=-1) return ($(n).find('img').attr('alt')) ? $(n).find('img').attr('alt'):""; }):$.makeArray($(this).find('img').attr('alt')); pp_descriptions=(isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel)!=-1) return ($(n).attr('title')) ? $(n).attr('title'):""; }):$.makeArray($(this).attr('title')); if(pp_images.length > settings.overlay_gallery_max) settings.overlay_gallery=false; set_position=jQuery.inArray($(this).attr('href'), pp_images); rel_index=(isSet) ? set_position:$("a["+settings.hook+"^='"+theRel+"']").index($(this)); _build_overlay(this); if(settings.allow_resize) $(window).bind('scroll.prettyphoto',function(){ _center_overlay(); }); $selfPp.open(); return false; } $selfPp.open=function(event){ if(typeof settings=="undefined"){ settings=pp_settings; pp_images=$.makeArray(arguments[0]); pp_titles=(arguments[1]) ? $.makeArray(arguments[1]):$.makeArray(""); pp_descriptions=(arguments[2]) ? $.makeArray(arguments[2]):$.makeArray(""); isSet=(pp_images.length > 1) ? true:false; set_position=(arguments[3])? arguments[3]: 0; _build_overlay(event.target); } if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden'); _checkPosition($(pp_images).length); $('.pp_loaderIcon').show(); if(settings.deeplinking) setHashtag(); if(settings.social_tools){ facebook_like_link=settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); $pp_pic_holder.find('.pp_social').html(facebook_like_link); } if($ppt.is(':hidden')) $ppt.css('opacity',0).show(); $pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity); $pp_pic_holder.find('.currentTextHolder').text((set_position+1) + settings.counter_separator_label + $(pp_images).length); if(typeof pp_descriptions[set_position]!='undefined'&&pp_descriptions[set_position]!=""){ settings.getTitle(); $pp_pic_holder.find('.pp_description').show().html($("
").html(pp_descriptions[set_position]).text() ) }else{ $pp_pic_holder.find('.pp_description').hide(); } movie_width=(parseFloat(getParam('width',pp_images[set_position]))) ? getParam('width',pp_images[set_position]):settings.default_movie_width.toString(); movie_height=(parseFloat(getParam('height',pp_images[set_position]))) ? getParam('height',pp_images[set_position]):settings.default_movie_height.toString(); percentBased=false; if(movie_height.indexOf('%')!=-1){ movie_height=parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased=true; } if(movie_width.indexOf('%')!=-1){ movie_width=parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased=true; } if(pp_settings.popup_border_enable&&pp_settings.popup_border_color && pp_settings.popup_border_type&&pp_settings.popup_border_width){ $pp_pic_holder.css({ "border-color": pp_settings.popup_border_color, "border-width": pp_settings.popup_border_width +"px", "border-style": pp_settings.popup_border_type, }); } $pp_pic_holder.fadeIn(function(){ (settings.show_title&&pp_titles[set_position]!=""&&typeof pp_titles[set_position]!="undefined") ? $ppt.html(unescape(pp_titles[set_position])):$ppt.html(' '); imgPreloader=""; skipInjection=false; switch(_getFileType(pp_images[set_position])){ case 'image': imgPreloader=new Image(); nextImage=new Image(); if(isSet&&set_position < $(pp_images).length -1) nextImage.src=pp_images[set_position + 1]; prevImage=new Image(); if(isSet&&pp_images[set_position - 1]) prevImage.src=pp_images[set_position - 1]; $pp_pic_holder.find('#pp_full_res')[0].innerHTML=settings.image_markup.replace(/{path}/g,pp_images[set_position]); imgPreloader.onload=function(){ pp_dimensions=_fitToViewportImage(imgPreloader.width,imgPreloader.height); _showContent(); }; imgPreloader.onerror=function(){ alert('Image cannot be loaded. Make sure the path is correct and image exist.'); $selfPp.close(); }; imgPreloader.src=pp_images[set_position]; break; case 'youtube': pp_dimensions=_fitToViewport(movie_width,movie_height); if(pp_images[set_position].indexOf("embed")==-1){ movie_id=getParam('v',pp_images[set_position]); if(movie_id==""){ movie_id=pp_images[set_position].split('youtu.be/'); movie_id=movie_id[1]; if(movie_id.indexOf('?') > 0) movie_id=movie_id.substr(0,movie_id.indexOf('?')); if(movie_id.indexOf('&') > 0) movie_id=movie_id.substr(0,movie_id.indexOf('&')); } movie='//www.youtube.com/embed/'+movie_id; }else{ movie=pp_images[set_position]; } (getParam('rel',pp_images[set_position])) ? movie+="?rel="+getParam('rel',pp_images[set_position]):movie+="?rel=1"; toInject=settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie); break; case 'vimeo': pp_dimensions=_fitToViewport(movie_width,movie_height); movie_id=pp_images[set_position]; var regExp=/(?:https?:)?\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:$|\/|\?)/; var match=movie_id.match(regExp); movie='https://player.vimeo.com/video/'+ match[3] +'?title=0&byline=0&portrait=0'; vimeo_width=pp_dimensions['width'] + '/embed/?moog_width='+ pp_dimensions['width']; toInject=settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie); break; case 'quicktime': pp_dimensions=_fitToViewport(movie_width,movie_height); pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; toInject=settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay); break; case 'html5': pp_dimensions=_fitToViewport(movie_width,movie_height); pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; if(settings.autoplay){ settings.autoplay='autoplay'; }else{ settings.autoplay=''; } toInject=settings.html5_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay); break; case 'flash': pp_dimensions=_fitToViewport(movie_width,movie_height); flash_vars=pp_images[set_position]; flash_vars=flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10,pp_images[set_position].length); filename=pp_images[set_position]; filename=filename.substring(0,filename.indexOf('?')); toInject=settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars); break; case 'iframe': pp_dimensions=_fitToViewport(movie_width,movie_height); frame_url=pp_images[set_position]; frame_url=frame_url.substr(0,frame_url.indexOf('iframe')-1); toInject=pp_images[set_position].replace('watch?v=', 'embed/'); var container=$("
" + toInject + "
"); container.find("iframe").attr("width", pp_dimensions['width'] + 'px'); container.find("iframe").attr("height", pp_dimensions['height'] + 'px'); toInject=container.html(); break; case 'ajax': doresize=false; pp_dimensions=_fitToViewport(movie_width,movie_height); doresize=true; skipInjection=true; $.get(pp_images[set_position],function(responseHTML){ toInject=settings.inline_markup.replace(/{content}/g,responseHTML); $pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject; _showContent(); }); break; case 'custom': pp_dimensions=_fitToViewport(movie_width,movie_height); toInject=settings.custom_markup; break; case 'inline': myClone=$(pp_images[set_position]).clone().append('
').css({'width':settings.default_width}).wrapInner('
').appendTo($('body')).show(); doresize=false; pp_dimensions=_fitToViewport($(myClone).width(),$(myClone).height()); doresize=true; $(myClone).remove(); toInject=settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html()); break; }; if(!imgPreloader&&!skipInjection){ $pp_pic_holder.find('#pp_full_res')[0].innerHTML=toInject; _showContent(); };}); return false; }; $selfPp.getImagesList=function(){ return pp_images; }; $selfPp.changePage=function(direction){ currentGalleryPage=0; if(direction=='previous'){ set_position--; if(set_position < 0) set_position=$(pp_images).length-1; }else if(direction=='next'){ set_position++; if(set_position > $(pp_images).length-1) set_position=0; }else{ set_position=direction; }; rel_index=set_position; if(!doresize) doresize=true; if(settings.allow_expand){ $('.pp_contract').removeClass('pp_contract').addClass('pp_expand'); } _hideContent(function(){ $selfPp.open(); }); }; $selfPp.changeGalleryPage=function(direction){ if(direction=='next'){ currentGalleryPage ++; if(currentGalleryPage > totalPage) currentGalleryPage=0; }else if(direction=='previous'){ currentGalleryPage --; if(currentGalleryPage < 0) currentGalleryPage=totalPage; }else{ currentGalleryPage=direction; }; slide_speed=(direction=='next'||direction=='previous') ? settings.animation_speed:0; slide_to=currentGalleryPage * (itemsPerPage * itemWidth); $pp_gallery.find('ul').animate({left:-slide_to},slide_speed); }; $selfPp.startSlideshow=function(){ if(typeof pp_slideshow=='undefined'){ if(!$pp_pic_holder.find('.pp_play').hasClass('stop') && !$pp_pic_holder.find('.pp_pause').hasClass('stop')){ $pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){ $selfPp.stopSlideshow(); return false; }); pp_slideshow=setInterval($selfPp.startSlideshow,settings.slideshow); }}else{ $selfPp.changePage('next'); };} $selfPp.stopSlideshow=function(){ $pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){ $selfPp.startSlideshow(); return false; }); clearInterval(pp_slideshow); pp_slideshow=undefined; } $selfPp.close=function(){ if($pp_overlay.is(":animated")) return; $selfPp.stopSlideshow(); $pp_pic_holder.stop().find('object,embed').css('visibility','hidden'); $('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){ $(this).remove(); }); $pp_overlay.fadeOut(settings.animation_speed, function(){ if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible'); $(this).remove(); $(window).unbind('scroll.prettyphoto'); clearHashtag(); settings.callback(); doresize=true; pp_open=false; settings=undefined; }); }; $selfPp.resize=function(width, height){ _fitToViewport(width, height); _resize_overlay(); _center_overlay(); }; function _showContent(changeWidthAndHeight, currImgRotateVal, notRunOnHoverInit){ $('.pp_loaderIcon').hide(); projectedTop=scroll_pos['scrollTop'] + ((windowHeight/2) - (pp_dimensions['containerHeight']/2)); if(projectedTop < 0) projectedTop=0; $ppt.fadeTo(settings.animation_speed,1); $pp_pic_holder.find('.pp_content') .animate({ 'height': pp_dimensions['contentHeight'] , 'width': pp_dimensions['contentWidth'] } , settings.animation_speed , function(){ $pp_pic_holder.animate({ 'top': projectedTop, 'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0:(windowWidth/2) - (pp_dimensions['containerWidth']/2), width:pp_dimensions['containerWidth'] },settings.animation_speed,function(){ var $ppHoverContainer=$pp_pic_holder.find('.pp_hoverContainer') , $ppImageWrapper=$pp_pic_holder.find('#pp_full_res') , $ppPopupImage=$pp_pic_holder.find('#fullResImage'); $ppHoverContainer.height(pp_dimensions['height']).width(pp_dimensions['width']); $ppPopupImage.height(pp_dimensions['height']).width(pp_dimensions['width']); if(settings.isShowRotateBtn&&window.prettyPhotoShowContent){ window.prettyPhotoShowContent(changeWidthAndHeight , currImgRotateVal , $ppPopupImage , $ppImageWrapper , pp_dimensions ); } $pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); if(isSet&&_getFileType(pp_images[set_position])=="image"){ $pp_pic_holder.find('.pp_hoverContainer').show(); }else{ $pp_pic_holder.find('.pp_hoverContainer').hide(); } if(settings.isShowAttributes){ if(settings.attributesPosition=='left'){ $ppHoverContainer.css('left', pp_attributesWidth); }else{ $('a.pp_expand').css('right', pp_attributesWidth + 10 + 'px'); } $pp_pic_holder.find('#ppCustomAttributes').height(pp_dimensions['height'] - (settings.isShowButtonLink ? $pp_pic_holder.find('#ppAttributeButton').height() + 5:0)); } if(settings.allow_expand){ if(pp_dimensions['resized']){ $('a.pp_expand,a.pp_contract').show(); }else{ $('a.pp_expand').hide(); }} if(settings.autoplay_slideshow&&!pp_slideshow&&!pp_open) $selfPp.startSlideshow(); settings.changepicturecallback($('[href="' + pp_images[set_position] + '"]')); if(!notRunOnHoverInit){ if(window.prettyPhotoInitOnHoverThumb){ window.prettyPhotoInitOnHoverThumb($('[href="' + pp_images[set_position] + '"]'), pp_settings.galleryId, $selfPp.setDimensionsAndShowCont); }} pp_open=true; }); }); _insert_gallery(); pp_settings.ajaxcallback(); setTimeout(function (){ $pp_pic_holder.animate({ 'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0:(windowWidth/2) - ($pp_pic_holder.outerWidth()/2), width:pp_dimensions['containerWidth'] }); }, 600); }; $selfPp.initRotate=(function(){ if(pp_settings.isShowRotateBtn&&window.prettyPhotoInitRotate){ window.prettyPhotoInitRotate(function(toFitWidth, toFitHeigth, currImgRotateVal){ pp_dimensions=_fitToViewportImage(toFitWidth, toFitHeigth); _showContent(true, currImgRotateVal); }); }}); $selfPp.setDimensionsAndShowCont=(function(toFitWidth, toFitHeigth, currImgRotateVal){ pp_dimensions=_fitToViewportImage(toFitWidth, toFitHeigth); _showContent(true, currImgRotateVal, 1); }); $selfPp.initOnHoverPreview=(function($aLink, galleryId){ if(pp_settings.isShowHovThumbnail&&window.prettyPhotoInitOnHoverThumb){ window.prettyPhotoInitOnHoverThumb($aLink, galleryId, $selfPp.setDimensionsAndShowCont); }}); function _hideContent(callback){ $pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden'); $pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){ $('.pp_loaderIcon').show(); callback(); }); }; function _checkPosition(setCount){ (setCount > 1) ? $('.pp_nav').show():$('.pp_nav').hide(); }; function _fitToViewportImage(width,height){ var dimensions=settings.getImageDimensions(); if(dimensions==undefined){ return _fitToViewport(width,height); }else{ windowWidth=dimensions.width; windowHeight=dimensions.height; var response=_fitToViewport(width,height); winWidth=$(window).width(); winHeight=$(window).height(); if(response.containerWidth > winWidth||response.containerHeight > winHeight){ if(response.containerWidth > winWidth){ windowWidth -=(response.containerWidth - winWidth); }else if(response.containerHeight > winHeight){ windowHeight -=(response.containerHeight - winHeight); } response=_fitToViewport(response.width, response.height); } windowWidth=winWidth; windowHeight=winHeight; return response; }} function _fitToViewport(width,height){ resized=false; _getDimensions(width,height); imageWidth=width, imageHeight=height; if(((pp_containerWidth > windowWidth)||(pp_containerHeight > windowHeight))&&doresize&&settings.allow_resize&&!percentBased){ resized=true, fitting=false; while (!fitting){ if((pp_containerWidth > windowWidth)){ imageWidth=(windowWidth - 60 - pp_attributesWidth); imageHeight=(height/width) * imageWidth; }else if((pp_containerHeight > windowHeight)){ imageHeight=(windowHeight - 80); imageWidth=(width/height) * imageHeight; } if(!(pp_containerWidth > windowWidth)&&!(pp_containerHeight > windowHeight)){ fitting=true; }; pp_containerHeight=imageHeight, pp_containerWidth=imageWidth; }; if((pp_containerWidth > windowWidth)||(pp_containerHeight > windowHeight)){ _fitToViewport(pp_containerWidth,pp_containerHeight) }; _getDimensions(imageWidth,imageHeight); }; return { width:Math.floor(imageWidth), height:Math.floor(imageHeight), containerHeight:Math.floor(pp_containerHeight), containerWidth:Math.floor(pp_containerWidth) + (settings.horizontal_padding * 2), contentHeight:Math.floor(pp_contentHeight), contentWidth:Math.floor(pp_contentWidth), resized:resized };}; function _getDimensions(width,height){ width=parseFloat(width) + pp_attributesWidth; height=parseFloat(height); $pp_details=$pp_pic_holder.find('.pp_details'); $pp_details.width(width); detailsHeight=parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom')); $pp_details=$pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({ 'position':'absolute', 'top':-10000 }); $pp_details.find('.pp_description') .html(settings.setImageTitleForPrepare($('[href="' + pp_images[set_position] + '"]'))); detailsHeight +=$pp_details.height(); detailsHeight=(detailsHeight <=34) ? 36:detailsHeight; $pp_details.remove(); $pp_title=$pp_pic_holder.find('.ppt'); $pp_title.width(width); titleHeight=parseFloat($pp_title.css('marginTop')) + parseFloat($pp_title.css('marginBottom')); $pp_title=$pp_title.clone().appendTo($('body')).css({ 'position':'absolute', 'top':-10000 }); titleHeight +=$pp_title.height(); $pp_title.remove(); pp_contentHeight=height + detailsHeight; pp_contentWidth=width; pp_containerHeight=pp_contentHeight + titleHeight + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height(); pp_containerWidth=width; } function _getFileType(itemSrc){ if(itemSrc.match(//i)){ return 'iframe'; } else if(itemSrc.match(/youtube\.com\/watch/i)||itemSrc.match(/youtu\.be/i)||itemSrc.match(/youtube\.com\/embed/i)){ return 'youtube'; }else if(itemSrc.match(/vimeo\.com/i)){ return 'vimeo'; }else if(itemSrc.match(/\b.mov\b/i)){ return 'quicktime'; }else if(itemSrc.match(/\b.avi\b/i)){ return 'html5'; }else if(itemSrc.match(/\b.mp4\b/i)){ return 'html5'; }else if(itemSrc.match(/\b.swf\b/i)){ return 'flash'; }else if(itemSrc.match(/\bajax=true\b/i)){ return 'ajax'; }else if(itemSrc.match(/\bcustom=true\b/i)){ return 'custom'; }else if(itemSrc.substr(0,1)=='#'){ return 'inline'; }else{ return 'image'; };}; function _center_overlay(){ if(doresize&&typeof $pp_pic_holder!='undefined'){ scroll_pos=_get_scroll(); contentHeight=$pp_pic_holder.height(), contentwidth=$pp_pic_holder.width(); projectedTop=(windowHeight/2) + scroll_pos['scrollTop'] - (contentHeight/2); if(projectedTop < 0) projectedTop=0; if(contentHeight > windowHeight) return; $pp_pic_holder.css({ 'top': projectedTop, 'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2) }); };}; function _get_scroll(){ if(self.pageYOffset){ return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};}else if(document.documentElement&&document.documentElement.scrollTop){ return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};}else if(document.body){ return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};}; }; function _resize_overlay(){ windowHeight=$(window).height(), windowWidth=$(window).width(); if(typeof $pp_overlay!="undefined") $pp_overlay.height($(document).height()).width(windowWidth); }; function _insert_gallery(){ if(isSet&&settings.overlay_gallery&&(_getFileType(pp_images[set_position])=="image"||_getFileType(pp_images[set_position])=="iframe")){ itemWidth=52+5; navWidth=(settings.theme=="facebook"||settings.theme=="pp_default") ? 50:30; itemsPerPage=Math.floor((pp_dimensions['containerWidth'] - 100 - pp_attributesWidth - navWidth) / itemWidth); itemsPerPage=(itemsPerPage < pp_images.length) ? itemsPerPage:pp_images.length; totalPage=Math.ceil(pp_images.length / itemsPerPage) - 1; if(totalPage==0){ navWidth=0; $pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide(); }else{ $pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show(); }; galleryWidth=itemsPerPage * itemWidth; fullGalleryWidth=pp_images.length * itemWidth; $pp_gallery .css('margin-left',-((galleryWidth/2) + (navWidth/2) + (settings.isShowAttributes ? pp_attributesWidth/2 * (settings.attributesPosition=='left' ? -1:1):0))) .find('div:first').width(galleryWidth+5) .find('ul').width(fullGalleryWidth) .find('li.selected').removeClass('selected'); goToPage=(Math.floor(set_position/itemsPerPage) < totalPage) ? Math.floor(set_position/itemsPerPage):totalPage; $selfPp.changeGalleryPage(goToPage); $pp_gallery_li.filter(':eq('+set_position+')').addClass('selected'); }else{ $pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave'); }} function _build_overlay(caller){ if(settings.social_tools) facebook_like_link=settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); settings.markup=settings.markup.replace('{pp_social}',''); $('body').append(settings.markup); $selfPp.initRotate(); $selfPp.initOnHoverPreview($(caller), pp_settings.galleryId); $pp_pic_holder=$('.pp_pic_holder') , $ppt=$('.ppt'), $pp_overlay=$('div.pp_overlay'); if(settings.isDisableRightClick){ $pp_pic_holder.off('contextmenu').on('contextmenu', function(e){return false;}); } if(isSet&&settings.overlay_gallery){ currentGalleryPage=0; toInject=""; for (var i=0; i < pp_images.length; i++){ img_src=pp_images[i]; thumbnail=$('[href="' +img_src + '"]').find('.crop > img'); if(!(thumbnail.length&&thumbnail.attr('data-gg-remote-image')=='1')&&!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){ classname='default'; img_src=''; }else{ classname=''; if(thumbnail.length){ if(pp_settings.is_lazy_load){ img_src=thumbnail.attr('data-gg-real-image-href'); }else{ img_src=thumbnail.attr('src'); }} } toInject +="
  • "; }; toInject=settings.gallery_markup.replace(/{gallery}/g,toInject); $pp_pic_holder.find(settings.isShowAttributes&&settings.attributesPosition=='right' ? '.pp_attributes_container':'#pp_full_res').after(toInject); $pp_gallery=$('.pp_pic_holder .pp_gallery'), $pp_gallery_li=$pp_gallery.find('li'); $pp_gallery.find('.pp_arrow_next').click(function(){ $selfPp.changeGalleryPage('next'); $selfPp.stopSlideshow(); return false; }); $pp_gallery.find('.pp_arrow_previous').click(function(){ $selfPp.changeGalleryPage('previous'); $selfPp.stopSlideshow(); return false; }); $pp_pic_holder.find('.pp_content').hover(function(){ $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn(); }, function(){ $pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut(); }); itemWidth=52+5; $pp_gallery_li.each(function(i){ $(this) .find('a') .click(function(){ $selfPp.changePage(i); $selfPp.stopSlideshow(); return false; }); }); }; if(settings.slideshow){ $pp_pic_holder.find('.pp_nav').prepend('Play') $pp_pic_holder.find('.pp_nav .pp_play').click(function(){ $selfPp.startSlideshow(); return false; }); } $pp_pic_holder.attr('class','pp_pic_holder ' + settings.theme); $pp_overlay .css({ 'opacity':0, 'height':$(document).height(), 'width':$(window).width() }) .bind('click',function(){ if(!settings.modal) $selfPp.close(); }); $('a.pp_close').bind('click',function(){ $selfPp.close(); return false; }); if(settings.allow_expand){ $('a.pp_expand').bind('click',function(e){ if($(this).hasClass('pp_expand')){ $(this).removeClass('pp_expand').addClass('pp_contract'); doresize=false; }else{ $(this).removeClass('pp_contract').addClass('pp_expand'); doresize=true; }; _hideContent(function(){ $selfPp.open(); }); return false; }); } $pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){ $('.pp_nav a.pp_pause').removeClass('stop'); $('.pp_nav a.pp_play').removeClass('stop'); $selfPp.changePage('previous'); $selfPp.stopSlideshow(); return false; }); $pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){ $('.pp_nav a.pp_pause').removeClass('stop'); $('.pp_nav a.pp_play').removeClass('stop'); $selfPp.changePage('next'); $selfPp.stopSlideshow(); return false; }); _center_overlay(); }; if(!ggpp_alreadyInitialized&&getHashtag()){ ggpp_alreadyInitialized=true; hashIndex=getHashtag(); hashRel=hashIndex; hashIndex=hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1); hashRel=hashRel.substring(0,hashRel.indexOf('/')); setTimeout(function(){ $("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50); } return $selfPp.off('click.prettyphoto').on('click.prettyphoto',$selfPp.initialize); }; function getHashtag(){ var url=location.href, hashtag=(url.indexOf('#prettyPhoto')!==-1) ? decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)):false; if(hashtag){ hashtag=hashtag.replace(/<|>/g,''); } return hashtag; }; function setHashtag(){ if(typeof theRel=='undefined') return; location.hash=theRel + '/'+rel_index+'/'; }; function clearHashtag(){ if(location.href.indexOf('#prettyPhoto')!==-1) location.hash="prettyPhoto"; } function getParam(name,url){ name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS="[\\?&]"+name+"=([^&#]*)"; var regex=new RegExp(regexS); var results=regex.exec(url); return(results==null) ? "":results[1]; }})(jQuery); var ggpp_alreadyInitialized=false; (function(e){var t=function(e){var t=e.clone();var n=e.find("canvas");if(n.length){var r=t.find("canvas");r.each(function(e){var t=this.getContext("2d");t.drawImage(n.get(e),0,0)})}return t};e.fn.quicksand=function(n,r){var i={duration:750,easing:"swing",attribute:"data-id",adjustHeight:"auto",adjustWidth:"auto",useScaling:false,enhancement:function(e){},selector:"> *",atomic:false,dx:0,dy:0,maxWidth:0,retainExisting:true},s=function(){var e="transform WebkitTransform MozTransform OTransform msTransform".split(" "),t=document.createElement("div");for(var n=0;n0){n=n.add(s);if(r===0){f.prepend(s)}else{s.insertAfter(f.find(i.selector).get(r-1))}}});t.not(n).remove()}if(d){f.css("height",h)}if(v){f.css("width",c)}}i.enhancement(f);if(typeof o=="function"){o.call(this)}}if(false===i.adjustHeight){f.css("height","auto")}if(false===i.adjustWidth){f.css("width","auto")}};var S=f.offsetParent();var x=S.offset();if(S.css("position")=="relative"){if(S.get(0).nodeName.toLowerCase()!="body"){x.top+=parseFloat(S.css("border-top-width"))||0;x.left+=parseFloat(S.css("border-left-width"))||0}}else{x.top-=parseFloat(S.css("border-top-width"))||0;x.left-=parseFloat(S.css("border-left-width"))||0;x.top-=parseFloat(S.css("margin-top"))||0;x.left-=parseFloat(S.css("margin-left"))||0}if(isNaN(x.left)){x.left=0}if(isNaN(x.top)){x.top=0}x.left-=i.dx;x.top-=i.dy;f.css("height",e(this).height());f.css("width",e(this).width());y.each(function(t){g[t]=e(this).offset()});e(this).stop();var T=0;var N=0;y.each(function(t){e(this).stop();var n=e(this).get(0);if(n.style.position=="absolute"){T=-i.dx;N=-i.dy}else{T=i.dx;N=i.dy}n.style.position="absolute";n.style.margin="0";if(!i.adjustWidth){n.style.width=b+"px"}n.style.top=g[t].top-parseFloat(n.style.marginTop)-x.top+N+"px";n.style.left=g[t].left-parseFloat(n.style.marginLeft)-x.left+T+"px";if(i.maxWidth>0&&g[t].left>i.maxWidth){n.style.display="none"}});var C=t(e(f));var k=C.get(0);k.innerHTML="";k.setAttribute("id","");k.style.height="auto";k.style.width=f.width()+"px";C.append(a);C.insertBefore(f);C.css("opacity",0);k.style.zIndex=-1;k.style.margin="0";k.style.position="absolute";k.style.top=m.top-x.top+"px";k.style.left=m.left-x.left+"px";if(i.adjustHeight==="dynamic"){f.animate({height:C.height()},i.duration,i.easing)}else if(i.adjustHeight==="auto"){h=C.height();if(parseFloat(l)0){if(!i.useScaling){l={opacity:"1.0"}}else{l={opacity:"1.0",scale:"1.0"}}var c=t(o);var h=c.get(0);h.style.position="absolute";h.style.margin="0";if(!i.adjustWidth){h.style.width=b+"px"}h.style.top=o.offset().top-x.top+"px";h.style.left=o.offset().left-x.left+"px";c.css("opacity",0);if(i.useScaling){c.scale(0)}c.appendTo(f);if(i.maxWidth===0||o.offset().lefti;i++)e=t[i],e.obj.css(e.css)})}function e(i){return t.trim(i).toLowerCase()}var s,h,o;o=function(t,i){return function(){return t.apply(i,arguments)}},h={align:"center",autoResize:!1,comparator:null,container:t("body"),direction:void 0,ignoreInactiveItems:!0,itemWidth:0,fillEmptySpace:!1,flexibleWidth:0,offset:2,outerOffset:0,onLayoutChanged:void 0,possibleFilters:[],resizeDelay:50,verticalOffset:void 0};var n=window.requestAnimationFrame||function(t){t()},r=t(window);s=function(){function s(i,e){this.handler=i,this.columns=this.containerWidth=this.resizeTimer=null,this.activeItemCount=0,this.itemHeightsDirty=!0,this.placeholders=[],t.extend(!0,this,h,e),this.verticalOffset=this.verticalOffset||this.offset,this.update=o(this.update,this),this.onResize=o(this.onResize,this),this.onRefresh=o(this.onRefresh,this),this.getItemWidth=o(this.getItemWidth,this),this.layout=o(this.layout,this),this.layoutFull=o(this.layoutFull,this),this.layoutColumns=o(this.layoutColumns,this),this.filter=o(this.filter,this),this.clear=o(this.clear,this),this.getActiveItems=o(this.getActiveItems,this),this.refreshPlaceholders=o(this.refreshPlaceholders,this),this.sortElements=o(this.sortElements,this),this.updateFilterClasses=o(this.updateFilterClasses,this),this.updateFilterClasses(),this.autoResize&&r.bind("resize.wookmark",this.onResize),this.container.bind("refreshWookmark",this.onRefresh)}return s.prototype.updateFilterClasses=function(){for(var t,i,s,h,o=0,n=0,r=0,a={},l=this.possibleFilters;this.handler.length>o;o++)if(i=this.handler.eq(o),t=i.data("filterClass"),"object"==typeof t&&t.length>0)for(n=0;t.length>n;n++)s=e(t[n]),void 0===a[s]&&(a[s]=[]),a[s].push(i[0]);for(;l.length>r;r++)h=e(l[r]),h in a||(a[h]=[]);this.filterClasses=a},s.prototype.update=function(i){this.itemHeightsDirty=!0,t.extend(!0,this,i)},s.prototype.onResize=function(){clearTimeout(this.resizeTimer),this.itemHeightsDirty=0!==this.flexibleWidth,this.resizeTimer=setTimeout(this.layout,this.resizeDelay)},s.prototype.onRefresh=function(){this.itemHeightsDirty=!0,this.layout()},s.prototype.filter=function(i,s,h){var o,n,r,a,l,f=[],c=t();if(i=i||[],s=s||"or",h=h||!1,i.length){for(n=0;i.length>n;n++)l=e(i[n]),l in this.filterClasses&&f.push(this.filterClasses[l]);if(o=f.length,"or"==s||1==o)for(n=0;o>n;n++)c=c.add(f[n]);else if("and"==s){var u,d,m,p=f[0],g=!0;for(n=1;o>n;n++)f[n].lengthn;n++){for(d=p[n],g=!0,r=0;f.length>r&&g;r++)if(m=f[r],p!=m){for(a=0,u=!1;m.length>a&&!u;a++)u=m[a]==d;g&=u}g&&c.push(p[n])}}h||this.handler.not(c).addClass("inactive")}else c=this.handler;return h||(c.removeClass("inactive"),this.columns=null,this.layout()),c},s.prototype.refreshPlaceholders=function(i,e){for(var s,h,o,n,r,a,l=this.placeholders.length,f=this.columns.length,c=this.container.innerHeight();f>l;l++)s=t('
    ').appendTo(this.container),this.placeholders.push(s);for(a=this.offset+2*parseInt(this.placeholders[0].css("borderLeftWidth"),10),l=0;this.placeholders.length>l;l++)if(s=this.placeholders[l],o=this.columns[l],l>=f||!o[o.length-1])s.css("display","none");else{if(!(h=o[o.length-1]))continue;n=c-(r=h.data("wookmark-top")+h.data("wookmark-height")+this.verticalOffset)-a,s.css({position:"absolute",display:n>0?"block":"none",left:l*i+e,top:r,width:i-a,height:n})}},s.prototype.getActiveItems=function(){return this.ignoreInactiveItems?this.handler.not(".inactive"):this.handler},s.prototype.getItemWidth=function(){var t=this.itemWidth,i=this.container.width()-2*this.outerOffset,e=this.handler.eq(0),s=this.flexibleWidth;if(void 0===this.itemWidth||0===this.itemWidth&&!this.flexibleWidth?t=e.outerWidth():"string"==typeof this.itemWidth&&this.itemWidth.indexOf("%")>=0&&(t=parseFloat(this.itemWidth)/100*i),s){"string"==typeof s&&s.indexOf("%")>=0&&(s=parseFloat(s)/100*i);var h=i+this.offset,o=~~(.5+h/(s+this.offset)),n=~~(h/(t+this.offset)),r=Math.max(o,n),a=Math.min(s,~~((i-(r-1)*this.offset)/r));t=Math.max(t,a),this.handler.css("width",t)}return t},s.prototype.layout=function(t){if(this.container.is(":visible")){var i,e,s=this.getItemWidth()+this.offset,h=this.container.width()-2*this.outerOffset,o=~~((h+this.offset)/s),n=0,r=0,a=this.getActiveItems(),l=a.length;if(this.itemHeightsDirty||!this.container.data("itemHeightsInitialized")){for(;l>r;r++)i=a.eq(r),i.data("wookmark-height",i.outerHeight());this.itemHeightsDirty=!1,this.container.data("itemHeightsInitialized",!0)}o=Math.max(1,Math.min(o,l)),n=this.outerOffset,"center"==this.align&&(n+=~~(h-(o*s-this.offset)+.5>>1)),this.direction=this.direction||("right"==this.align?"right":"left"),e=t||null===this.columns||this.columns.length!=o||this.activeItemCount!=l?this.layoutFull(s,o,n):this.layoutColumns(s,n),this.activeItemCount=l,this.container.attr({"data-min-height":this.container.attr("data-flexible-height")=='1'||this.container.attr("data-min-height")>parseInt(e)?this.container.attr("data-min-height"):e}),this.container.css("height",this.container.attr("data-min-height")>parseInt(e)?this.container.attr("data-min-height")+"px":e),this.fillEmptySpace&&this.refreshPlaceholders(s,n),void 0!==this.onLayoutChanged&&"function"==typeof this.onLayoutChanged&&this.onLayoutChanged()}},s.prototype.sortElements=function(t){return"function"==typeof this.comparator?t.sort(this.comparator):t},s.prototype.layoutFull=function(e,s,h){var o,n,r=0,a=0,l=t.makeArray(this.getActiveItems()),f=l.length,c=null,u=null,d=[],m=[],p="left"==this.align;for(this.columns=[],l=this.sortElements(l);s>d.length;)d.push(this.outerOffset),this.columns.push([]);for(;f>r;r++){for(o=t(l[r]),c=d[0],u=0,a=0;s>a;a++)c>d[a]&&(c=d[a],u=a);o.data("wookmark-top",c),n=h,(u>0||!p)&&(n+=u*e),(m[r]={obj:o,css:{position:"absolute",top:c}}).css[this.direction]=n,d[u]+=o.data("wookmark-height")+this.verticalOffset,this.columns[u].push(o)}return i(m),Math.max.apply(Math,d)},s.prototype.layoutColumns=function(t,e){for(var s,h,o,n,r=[],a=[],l=0,f=0,c=0;this.columns.length>l;l++){for(r.push(this.outerOffset),h=this.columns[l],n=l*t+e,s=r[l],f=0;h.length>f;f++,c++)o=h[f].data("wookmark-top",s),(a[c]={obj:o,css:{top:s}}).css[this.direction]=n,s+=o.data("wookmark-height")+this.verticalOffset;r[l]=s}return i(a),Math.max.apply(Math,r)},s.prototype.clear=function(){clearTimeout(this.resizeTimer),r.unbind("resize.wookmark",this.onResize),this.container.unbind("refreshWookmark",this.onRefresh),this.handler.wookmarkInstance=null},s}(),t.fn.wookmark=function(t){return this.wookmarkInstance?this.wookmarkInstance.update(t||{}):this.wookmarkInstance=new s(this,t||{}),this.wookmarkInstance.layout(!0),this.show()}}); !function(a,b,c,d){"use strict";function e(a,b,c){return setTimeout(j(a,c),b)}function f(a,b,c){return Array.isArray(a)?(g(a,c[b],c),!0):!1}function g(a,b,c){var e;if(a)if(a.forEach)a.forEach(b,c);else if(a.length!==d)for(e=0;e\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",f=a.console&&(a.console.warn||a.console.log);return f&&f.call(a.console,e,d),b.apply(this,arguments)}}function i(a,b,c){var d,e=b.prototype;d=a.prototype=Object.create(e),d.constructor=a,d._super=e,c&&la(d,c)}function j(a,b){return function(){return a.apply(b,arguments)}}function k(a,b){return typeof a==oa?a.apply(b?b[0]||d:d,b):a}function l(a,b){return a===d?b:a}function m(a,b,c){g(q(b),function(b){a.addEventListener(b,c,!1)})}function n(a,b,c){g(q(b),function(b){a.removeEventListener(b,c,!1)})}function o(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1}function p(a,b){return a.indexOf(b)>-1}function q(a){return a.trim().split(/\s+/g)}function r(a,b,c){if(a.indexOf&&!c)return a.indexOf(b);for(var d=0;dc[b]}):d.sort()),d}function u(a,b){for(var c,e,f=b[0].toUpperCase()+b.slice(1),g=0;g1&&!c.firstMultiple?c.firstMultiple=D(b):1===e&&(c.firstMultiple=!1);var f=c.firstInput,g=c.firstMultiple,h=g?g.center:f.center,i=b.center=E(d);b.timeStamp=ra(),b.deltaTime=b.timeStamp-f.timeStamp,b.angle=I(h,i),b.distance=H(h,i),B(c,b),b.offsetDirection=G(b.deltaX,b.deltaY);var j=F(b.deltaTime,b.deltaX,b.deltaY);b.overallVelocityX=j.x,b.overallVelocityY=j.y,b.overallVelocity=qa(j.x)>qa(j.y)?j.x:j.y,b.scale=g?K(g.pointers,d):1,b.rotation=g?J(g.pointers,d):0,b.maxPointers=c.prevInput?b.pointers.length>c.prevInput.maxPointers?b.pointers.length:c.prevInput.maxPointers:b.pointers.length,C(c,b);var k=a.element;o(b.srcEvent.target,k)&&(k=b.srcEvent.target),b.target=k}function B(a,b){var c=b.center,d=a.offsetDelta||{},e=a.prevDelta||{},f=a.prevInput||{};b.eventType!==Ea&&f.eventType!==Ga||(e=a.prevDelta={x:f.deltaX||0,y:f.deltaY||0},d=a.offsetDelta={x:c.x,y:c.y}),b.deltaX=e.x+(c.x-d.x),b.deltaY=e.y+(c.y-d.y)}function C(a,b){var c,e,f,g,h=a.lastInterval||b,i=b.timeStamp-h.timeStamp;if(b.eventType!=Ha&&(i>Da||h.velocity===d)){var j=b.deltaX-h.deltaX,k=b.deltaY-h.deltaY,l=F(i,j,k);e=l.x,f=l.y,c=qa(l.x)>qa(l.y)?l.x:l.y,g=G(j,k),a.lastInterval=b}else c=h.velocity,e=h.velocityX,f=h.velocityY,g=h.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g}function D(a){for(var b=[],c=0;ce;)c+=a[e].clientX,d+=a[e].clientY,e++;return{x:pa(c/b),y:pa(d/b)}}function F(a,b,c){return{x:b/a||0,y:c/a||0}}function G(a,b){return a===b?Ia:qa(a)>=qa(b)?0>a?Ja:Ka:0>b?La:Ma}function H(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return Math.sqrt(d*d+e*e)}function I(a,b,c){c||(c=Qa);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*Math.atan2(e,d)/Math.PI}function J(a,b){return I(b[1],b[0],Ra)+I(a[1],a[0],Ra)}function K(a,b){return H(b[0],b[1],Ra)/H(a[0],a[1],Ra)}function L(){this.evEl=Ta,this.evWin=Ua,this.pressed=!1,x.apply(this,arguments)}function M(){this.evEl=Xa,this.evWin=Ya,x.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}function N(){this.evTarget=$a,this.evWin=_a,this.started=!1,x.apply(this,arguments)}function O(a,b){var c=s(a.touches),d=s(a.changedTouches);return b&(Ga|Ha)&&(c=t(c.concat(d),"identifier",!0)),[c,d]}function P(){this.evTarget=bb,this.targetIds={},x.apply(this,arguments)}function Q(a,b){var c=s(a.touches),d=this.targetIds;if(b&(Ea|Fa)&&1===c.length)return d[c[0].identifier]=!0,[c,c];var e,f,g=s(a.changedTouches),h=[],i=this.target;if(f=c.filter(function(a){return o(a.target,i)}),b===Ea)for(e=0;e-1&&d.splice(a,1)};setTimeout(e,cb)}}function U(a){for(var b=a.srcEvent.clientX,c=a.srcEvent.clientY,d=0;d=f&&db>=g)return!0}return!1}function V(a,b){this.manager=a,this.set(b)}function W(a){if(p(a,jb))return jb;var b=p(a,kb),c=p(a,lb);return b&&c?jb:b||c?b?kb:lb:p(a,ib)?ib:hb}function X(){if(!fb)return!1;var b={},c=a.CSS&&a.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(d){b[d]=c?a.CSS.supports("touch-action",d):!0}),b}function Y(a){this.options=la({},this.defaults,a||{}),this.id=v(),this.manager=null,this.options.enable=l(this.options.enable,!0),this.state=nb,this.simultaneous={},this.requireFail=[]}function Z(a){return a&sb?"cancel":a&qb?"end":a&pb?"move":a&ob?"start":""}function $(a){return a==Ma?"down":a==La?"up":a==Ja?"left":a==Ka?"right":""}function _(a,b){var c=b.manager;return c?c.get(a):a}function aa(){Y.apply(this,arguments)}function ba(){aa.apply(this,arguments),this.pX=null,this.pY=null}function ca(){aa.apply(this,arguments)}function da(){Y.apply(this,arguments),this._timer=null,this._input=null}function ea(){aa.apply(this,arguments)}function fa(){aa.apply(this,arguments)}function ga(){Y.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function ha(a,b){return b=b||{},b.recognizers=l(b.recognizers,ha.defaults.preset),new ia(a,b)}function ia(a,b){this.options=la({},ha.defaults,b||{}),this.options.inputTarget=this.options.inputTarget||a,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=a,this.input=y(this),this.touchAction=new V(this,this.options.touchAction),ja(this,!0),g(this.options.recognizers,function(a){var b=this.add(new a[0](a[1]));a[2]&&b.recognizeWith(a[2]),a[3]&&b.requireFailure(a[3])},this)}function ja(a,b){var c=a.element;if(c.style){var d;g(a.options.cssProps,function(e,f){d=u(c.style,f),b?(a.oldCssProps[d]=c.style[d],c.style[d]=e):c.style[d]=a.oldCssProps[d]||""}),b||(a.oldCssProps={})}}function ka(a,c){var d=b.createEvent("Event");d.initEvent(a,!0,!0),d.gesture=c,c.target.dispatchEvent(d)}var la,ma=["","webkit","Moz","MS","ms","o"],na=b.createElement("div"),oa="function",pa=Math.round,qa=Math.abs,ra=Date.now;la="function"!=typeof Object.assign?function(a){if(a===d||null===a)throw new TypeError("Cannot convert undefined or null to object");for(var b=Object(a),c=1;ch&&(b.push(a),h=b.length-1):e&(Ga|Ha)&&(c=!0),0>h||(b[h]=a,this.callback(this.manager,e,{pointers:b,changedPointers:[a],pointerType:f,srcEvent:a}),c&&b.splice(h,1))}});var Za={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},$a="touchstart",_a="touchstart touchmove touchend touchcancel";i(N,x,{handler:function(a){var b=Za[a.type];if(b===Ea&&(this.started=!0),this.started){var c=O.call(this,a,b);b&(Ga|Ha)&&c[0].length-c[1].length===0&&(this.started=!1),this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}}});var ab={touchstart:Ea,touchmove:Fa,touchend:Ga,touchcancel:Ha},bb="touchstart touchmove touchend touchcancel";i(P,x,{handler:function(a){var b=ab[a.type],c=Q.call(this,a,b);c&&this.callback(this.manager,b,{pointers:c[0],changedPointers:c[1],pointerType:za,srcEvent:a})}});var cb=2500,db=25;i(R,x,{handler:function(a,b,c){var d=c.pointerType==za,e=c.pointerType==Ba;if(!(e&&c.sourceCapabilities&&c.sourceCapabilities.firesTouchEvents)){if(d)S.call(this,b,c);else if(e&&U.call(this,c))return;this.callback(a,b,c)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var eb=u(na.style,"touchAction"),fb=eb!==d,gb="compute",hb="auto",ib="manipulation",jb="none",kb="pan-x",lb="pan-y",mb=X();V.prototype={set:function(a){a==gb&&(a=this.compute()),fb&&this.manager.element.style&&mb[a]&&(this.manager.element.style[eb]=a),this.actions=a.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var a=[];return g(this.manager.recognizers,function(b){k(b.options.enable,[b])&&(a=a.concat(b.getTouchAction()))}),W(a.join(" "))},preventDefaults:function(a){var b=a.srcEvent,c=a.offsetDirection;if(this.manager.session.prevented)return void b.preventDefault();var d=this.actions,e=p(d,jb)&&!mb[jb],f=p(d,lb)&&!mb[lb],g=p(d,kb)&&!mb[kb];if(e){var h=1===a.pointers.length,i=a.distance<2,j=a.deltaTime<250;if(h&&i&&j)return}return g&&f?void 0:e||f&&c&Na||g&&c&Oa?this.preventSrc(b):void 0},preventSrc:function(a){this.manager.session.prevented=!0,a.preventDefault()}};var nb=1,ob=2,pb=4,qb=8,rb=qb,sb=16,tb=32;Y.prototype={defaults:{},set:function(a){return la(this.options,a),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(a){if(f(a,"recognizeWith",this))return this;var b=this.simultaneous;return a=_(a,this),b[a.id]||(b[a.id]=a,a.recognizeWith(this)),this},dropRecognizeWith:function(a){return f(a,"dropRecognizeWith",this)?this:(a=_(a,this),delete this.simultaneous[a.id],this)},requireFailure:function(a){if(f(a,"requireFailure",this))return this;var b=this.requireFail;return a=_(a,this),-1===r(b,a)&&(b.push(a),a.requireFailure(this)),this},dropRequireFailure:function(a){if(f(a,"dropRequireFailure",this))return this;a=_(a,this);var b=r(this.requireFail,a);return b>-1&&this.requireFail.splice(b,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(a){return!!this.simultaneous[a.id]},emit:function(a){function b(b){c.manager.emit(b,a)}var c=this,d=this.state;qb>d&&b(c.options.event+Z(d)),b(c.options.event),a.additionalEvent&&b(a.additionalEvent),d>=qb&&b(c.options.event+Z(d))},tryEmit:function(a){return this.canEmit()?this.emit(a):void(this.state=tb)},canEmit:function(){for(var a=0;af?Ja:Ka,c=f!=this.pX,d=Math.abs(a.deltaX)):(e=0===g?Ia:0>g?La:Ma,c=g!=this.pY,d=Math.abs(a.deltaY))),a.direction=e,c&&d>b.threshold&&e&b.direction},attrTest:function(a){return aa.prototype.attrTest.call(this,a)&&(this.state&ob||!(this.state&ob)&&this.directionTest(a))},emit:function(a){this.pX=a.deltaX,this.pY=a.deltaY;var b=$(a.direction);b&&(a.additionalEvent=this.options.event+b),this._super.emit.call(this,a)}}),i(ca,aa,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.scale-1)>this.options.threshold||this.state&ob)},emit:function(a){if(1!==a.scale){var b=a.scale<1?"in":"out";a.additionalEvent=this.options.event+b}this._super.emit.call(this,a)}}),i(da,Y,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return[hb]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distanceb.time;if(this._input=a,!d||!c||a.eventType&(Ga|Ha)&&!f)this.reset();else if(a.eventType&Ea)this.reset(),this._timer=e(function(){this.state=rb,this.tryEmit()},b.time,this);else if(a.eventType&Ga)return rb;return tb},reset:function(){clearTimeout(this._timer)},emit:function(a){this.state===rb&&(a&&a.eventType&Ga?this.manager.emit(this.options.event+"up",a):(this._input.timeStamp=ra(),this.manager.emit(this.options.event,this._input)))}}),i(ea,aa,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[jb]},attrTest:function(a){return this._super.attrTest.call(this,a)&&(Math.abs(a.rotation)>this.options.threshold||this.state&ob)}}),i(fa,aa,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:Na|Oa,pointers:1},getTouchAction:function(){return ba.prototype.getTouchAction.call(this)},attrTest:function(a){var b,c=this.options.direction;return c&(Na|Oa)?b=a.overallVelocity:c&Na?b=a.overallVelocityX:c&Oa&&(b=a.overallVelocityY),this._super.attrTest.call(this,a)&&c&a.offsetDirection&&a.distance>this.options.threshold&&a.maxPointers==this.options.pointers&&qa(b)>this.options.velocity&&a.eventType&Ga},emit:function(a){var b=$(a.offsetDirection);b&&this.manager.emit(this.options.event+b,a),this.manager.emit(this.options.event,a)}}),i(ga,Y,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ib]},process:function(a){var b=this.options,c=a.pointers.length===b.pointers,d=a.distance")&&n[0]);return e>4?e:!1}();return e},h.isInternetExplorer=function(){var e=h.isInternetExplorer.cached=typeof h.isInternetExplorer.cached!="undefined"?h.isInternetExplorer.cached:Boolean(h.getInternetExplorerMajorVersion());return e},h.options.html4Mode?h.emulated={pushState:!0,hashChange:!0}:h.emulated={pushState:!Boolean(e.history&&e.history.pushState&&e.history.replaceState&&!/ Mobile\/([1-7][a-z]|(8([abcde]|f(1[0-8]))))/i.test(i.userAgent)&&!/AppleWebKit\/5([0-2]|3[0-2])/i.test(i.userAgent)),hashChange:Boolean(!("onhashchange"in e||"onhashchange"in r)||h.isInternetExplorer()&&h.getInternetExplorerMajorVersion()<8)},h.enabled=!h.emulated.pushState,h.bugs={setHash:Boolean(!h.emulated.pushState&&i.vendor==="Apple Computer, Inc."&&/AppleWebKit\/5([0-2]|3[0-3])/.test(i.userAgent)),safariPoll:Boolean(!h.emulated.pushState&&i.vendor==="Apple Computer, Inc."&&/AppleWebKit\/5([0-2]|3[0-3])/.test(i.userAgent)),ieDoubleCheck:Boolean(h.isInternetExplorer()&&h.getInternetExplorerMajorVersion()<8),hashEscape:Boolean(h.isInternetExplorer()&&h.getInternetExplorerMajorVersion()<7)},h.isEmptyObject=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},h.cloneObject=function(e){var t,n;return e?(t=l.stringify(e),n=l.parse(t)):n={},n},h.getRootUrl=function(){var e=r.location.protocol+"//"+(r.location.hostname||r.location.host);if(r.location.port||!1)e+=":"+r.location.port;return e+="/",e},h.getBaseHref=function(){var e=r.getElementsByTagName("base"),t=null,n="";return e.length===1&&(t=e[0],n=t.href.replace(/[^\/]+$/,"")),n=n.replace(/\/+$/,""),n&&(n+="/"),n},h.getBaseUrl=function(){var e=h.getBaseHref()||h.getBasePageUrl()||h.getRootUrl();return e},h.getPageUrl=function(){var e=h.getState(!1,!1),t=(e||{}).url||h.getLocationHref(),n;return n=t.replace(/\/+$/,"").replace(/[^\/]+$/,function(e,t,n){return/\./.test(e)?e:e+"/"}),n},h.getBasePageUrl=function(){var e=h.getLocationHref().replace(/[#\?].*/,"").replace(/[^\/]+$/,function(e,t,n){return/[^\/]$/.test(e)?"":e}).replace(/\/+$/,"")+"/";return e},h.getFullUrl=function(e,t){var n=e,r=e.substring(0,1);return t=typeof t=="undefined"?!0:t,/[a-z]+\:\/\//.test(e)||(r==="/"?n=h.getRootUrl()+e.replace(/^\/+/,""):r==="#"?n=h.getPageUrl().replace(/#.*/,"")+e:r==="?"?n=h.getPageUrl().replace(/[\?#].*/,"")+e:t?n=h.getBaseUrl()+e.replace(/^(\.\/)+/,""):n=h.getBasePageUrl()+e.replace(/^(\.\/)+/,"")),n.replace(/\#$/,"")},h.getShortUrl=function(e){var t=e,n=h.getBaseUrl(),r=h.getRootUrl();return h.emulated.pushState&&(t=t.replace(n,"")),t=t.replace(r,"/"),h.isTraditionalAnchor(t)&&(t="./"+t),t=t.replace(/^(\.\/)+/g,"./").replace(/\#$/,""),t},h.getLocationHref=function(e){return e=e||r,e.URL===e.location.href?e.location.href:e.location.href===decodeURIComponent(e.URL)?e.URL:e.location.hash&&decodeURIComponent(e.location.href.replace(/^[^#]+/,""))===e.location.hash?e.location.href:e.URL.indexOf("#")==-1&&e.location.href.indexOf("#")!=-1?e.location.href:e.URL||e.location.href},h.store={},h.idToState=h.idToState||{},h.stateToId=h.stateToId||{},h.urlToId=h.urlToId||{},h.storedStates=h.storedStates||[],h.savedStates=h.savedStates||[],h.normalizeStore=function(){h.store.idToState=h.store.idToState||{},h.store.urlToId=h.store.urlToId||{},h.store.stateToId=h.store.stateToId||{}},h.getState=function(e,t){typeof e=="undefined"&&(e=!0),typeof t=="undefined"&&(t=!0);var n=h.getLastSavedState();return!n&&t&&(n=h.createStateObject()),e&&(n=h.cloneObject(n),n.url=n.cleanUrl||n.url),n},h.getIdByState=function(e){var t=h.extractId(e.url),n;if(!t){n=h.getStateString(e);if(typeof h.stateToId[n]!="undefined")t=h.stateToId[n];else if(typeof h.store.stateToId[n]!="undefined")t=h.store.stateToId[n];else{for(;;){t=(new Date).getTime()+String(Math.random()).replace(/\D/g,"");if(typeof h.idToState[t]=="undefined"&&typeof h.store.idToState[t]=="undefined")break}h.stateToId[n]=t,h.idToState[t]=e}}return t},h.normalizeState=function(e){var t,n;if(!e||typeof e!="object")e={};if(typeof e.normalized!="undefined")return e;if(!e.data||typeof e.data!="object")e.data={};return t={},t.normalized=!0,t.title=e.title||"",t.url=h.getFullUrl(e.url?e.url:h.getLocationHref()),t.hash=h.getShortUrl(t.url),t.data=h.cloneObject(e.data),t.id=h.getIdByState(t),t.cleanUrl=t.url.replace(/\??\&_suid.*/,""),t.url=t.cleanUrl,n=!h.isEmptyObject(t.data),(t.title||n)&&h.options.disableSuid!==!0&&(t.hash=h.getShortUrl(t.url).replace(/\??\&_suid.*/,""),/\?/.test(t.hash)||(t.hash+="?"),t.hash+="&_suid="+t.id),t.hashedUrl=h.getFullUrl(t.hash),(h.emulated.pushState||h.bugs.safariPoll)&&h.hasUrlDuplicate(t)&&(t.url=t.hashedUrl),t},h.createStateObject=function(e,t,n){var r={data:e,title:t,url:n};return r=h.normalizeState(r),r},h.getStateById=function(e){e=String(e);var n=h.idToState[e]||h.store.idToState[e]||t;return n},h.getStateString=function(e){var t,n,r;return t=h.normalizeState(e),n={data:t.data,title:e.title,url:e.url},r=l.stringify(n),r},h.getStateId=function(e){var t,n;return t=h.normalizeState(e),n=t.id,n},h.getHashByState=function(e){var t,n;return t=h.normalizeState(e),n=t.hash,n},h.extractId=function(e){var t,n,r,i;return e.indexOf("#")!=-1?i=e.split("#")[0]:i=e,n=/(.*)\&_suid=([0-9]+)$/.exec(i),r=n?n[1]||e:e,t=n?String(n[2]||""):"",t||!1},h.isTraditionalAnchor=function(e){var t=!/[\/\?\.]/.test(e);return t},h.extractState=function(e,t){var n=null,r,i;return t=t||!1,r=h.extractId(e),r&&(n=h.getStateById(r)),n||(i=h.getFullUrl(e),r=h.getIdByUrl(i)||!1,r&&(n=h.getStateById(r)),!n&&t&&!h.isTraditionalAnchor(e)&&(n=h.createStateObject(null,null,i))),n},h.getIdByUrl=function(e){var n=h.urlToId[e]||h.store.urlToId[e]||t;return n},h.getLastSavedState=function(){return h.savedStates[h.savedStates.length-1]||t},h.getLastStoredState=function(){return h.storedStates[h.storedStates.length-1]||t},h.hasUrlDuplicate=function(e){var t=!1,n;return n=h.extractState(e.url),t=n&&n.id!==e.id,t},h.storeState=function(e){return h.urlToId[e.url]=e.id,h.storedStates.push(h.cloneObject(e)),e},h.isLastSavedState=function(e){var t=!1,n,r,i;return h.savedStates.length&&(n=e.id,r=h.getLastSavedState(),i=r.id,t=n===i),t},h.saveState=function(e){return h.isLastSavedState(e)?!1:(h.savedStates.push(h.cloneObject(e)),!0)},h.getStateByIndex=function(e){var t=null;return typeof e=="undefined"?t=h.savedStates[h.savedStates.length-1]:e<0?t=h.savedStates[h.savedStates.length+e]:t=h.savedStates[e],t},h.getCurrentIndex=function(){var e=null;return h.savedStates.length<1?e=0:e=h.savedStates.length-1,e},h.getHash=function(e){var t=h.getLocationHref(e),n;return n=h.getHashByUrl(t),n},h.unescapeHash=function(e){var t=h.normalizeHash(e);return t=decodeURIComponent(t),t},h.normalizeHash=function(e){var t=e.replace(/[^#]*#/,"").replace(/#.*/,"");return t},h.setHash=function(e,t){var n,i;return t!==!1&&h.busy()?(h.pushQueue({scope:h,callback:h.setHash,args:arguments,queue:t}),!1):(h.busy(!0),n=h.extractState(e,!0),n&&!h.emulated.pushState?h.pushState(n.data,n.title,n.url,!1):h.getHash()!==e&&(h.bugs.setHash?(i=h.getPageUrl(),h.pushState(null,null,i+"#"+e,!1)):r.location.hash=e),h)},h.escapeHash=function(t){var n=h.normalizeHash(t);return n=e.encodeURIComponent(n),h.bugs.hashEscape||(n=n.replace(/\%21/g,"!").replace(/\%26/g,"&").replace(/\%3D/g,"=").replace(/\%3F/g,"?")),n},h.getHashByUrl=function(e){var t=String(e).replace(/([^#]*)#?([^#]*)#?(.*)/,"$2");return t=h.unescapeHash(t),t},h.setTitle=function(e){var t=e.title,n;t||(n=h.getStateByIndex(0),n&&n.url===e.url&&(t=n.title||h.options.initialTitle));try{r.getElementsByTagName("title")[0].innerHTML=t.replace("<","<").replace(">",">").replace(" & "," & ")}catch(i){}return r.title=t,h},h.queues=[],h.busy=function(e){typeof e!="undefined"?h.busy.flag=e:typeof h.busy.flag=="undefined"&&(h.busy.flag=!1);if(!h.busy.flag){u(h.busy.timeout);var t=function(){var e,n,r;if(h.busy.flag)return;for(e=h.queues.length-1;e>=0;--e){n=h.queues[e];if(n.length===0)continue;r=n.shift(),h.fireQueueItem(r),h.busy.timeout=o(t,h.options.busyDelay)}};h.busy.timeout=o(t,h.options.busyDelay)}return h.busy.flag},h.busy.flag=!1,h.fireQueueItem=function(e){return e.callback.apply(e.scope||h,e.args||[])},h.pushQueue=function(e){return h.queues[e.queue||0]=h.queues[e.queue||0]||[],h.queues[e.queue||0].push(e),h},h.queue=function(e,t){return typeof e=="function"&&(e={callback:e}),typeof t!="undefined"&&(e.queue=t),h.busy()?h.pushQueue(e):h.fireQueueItem(e),h},h.clearQueue=function(){return h.busy.flag=!1,h.queues=[],h},h.stateChanged=!1,h.doubleChecker=!1,h.doubleCheckComplete=function(){return h.stateChanged=!0,h.doubleCheckClear(),h},h.doubleCheckClear=function(){return h.doubleChecker&&(u(h.doubleChecker),h.doubleChecker=!1),h},h.doubleCheck=function(e){return h.stateChanged=!1,h.doubleCheckClear(),h.bugs.ieDoubleCheck&&(h.doubleChecker=o(function(){return h.doubleCheckClear(),h.stateChanged||e(),!0},h.options.doubleCheckInterval)),h},h.safariStatePoll=function(){var t=h.extractState(h.getLocationHref()),n;if(!h.isLastSavedState(t))return n=t,n||(n=h.createStateObject()),h.Adapter.trigger(e,"popstate"),h;return},h.back=function(e){return e!==!1&&h.busy()?(h.pushQueue({scope:h,callback:h.back,args:arguments,queue:e}),!1):(h.busy(!0),h.doubleCheck(function(){h.back(!1)}),p.go(-1),!0)},h.forward=function(e){return e!==!1&&h.busy()?(h.pushQueue({scope:h,callback:h.forward,args:arguments,queue:e}),!1):(h.busy(!0),h.doubleCheck(function(){h.forward(!1)}),p.go(1),!0)},h.go=function(e,t){var n;if(e>0)for(n=1;n<=e;++n)h.forward(t);else{if(!(e<0))throw new Error("History.go: History.go requires a positive or negative integer passed.");for(n=-1;n>=e;--n)h.back(t)}return h};if(h.emulated.pushState){var v=function(){};h.pushState=h.pushState||v,h.replaceState=h.replaceState||v}else h.onPopState=function(t,n){var r=!1,i=!1,s,o;return h.doubleCheckComplete(),s=h.getHash(),s?(o=h.extractState(s||h.getLocationHref(),!0),o?h.replaceState(o.data,o.title,o.url,!1):(h.Adapter.trigger(e,"anchorchange"),h.busy(!1)),h.expectedStateId=!1,!1):(r=h.Adapter.extractEventData("state",t,n)||!1,r?i=h.getStateById(r):h.expectedStateId?i=h.getStateById(h.expectedStateId):i=h.extractState(h.getLocationHref()),i||(i=h.createStateObject(null,null,h.getLocationHref())),h.expectedStateId=!1,h.isLastSavedState(i)?(h.busy(!1),!1):(h.storeState(i),h.saveState(i),h.setTitle(i),h.Adapter.trigger(e,"statechange"),h.busy(!1),!0))},h.Adapter.bind(e,"popstate",h.onPopState),h.pushState=function(t,n,r,i){if(h.getHashByUrl(r)&&h.emulated.pushState)throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).");if(i!==!1&&h.busy())return h.pushQueue({scope:h,callback:h.pushState,args:arguments,queue:i}),!1;h.busy(!0);var s=h.createStateObject(t,n,r);return h.isLastSavedState(s)?h.busy(!1):(h.storeState(s),h.expectedStateId=s.id,p.pushState(s.id,s.title,s.url),h.Adapter.trigger(e,"popstate")),!0},h.replaceState=function(t,n,r,i){if(h.getHashByUrl(r)&&h.emulated.pushState)throw new Error("History.js does not support states with fragement-identifiers (hashes/anchors).");if(i!==!1&&h.busy())return h.pushQueue({scope:h,callback:h.replaceState,args:arguments,queue:i}),!1;h.busy(!0);var s=h.createStateObject(t,n,r);return h.isLastSavedState(s)?h.busy(!1):(h.storeState(s),h.expectedStateId=s.id,p.replaceState(s.id,s.title,s.url),h.Adapter.trigger(e,"popstate")),!0};if(s){try{h.store=l.parse(s.getItem("History.store"))||{}}catch(m){h.store={}}h.normalizeStore()}else h.store={},h.normalizeStore();h.Adapter.bind(e,"unload",h.clearAllIntervals),h.saveState(h.storeState(h.extractState(h.getLocationHref(),!0))),s&&(h.onUnload=function(){var e,t,n;try{e=l.parse(s.getItem("History.store"))||{}}catch(r){e={}}e.idToState=e.idToState||{},e.urlToId=e.urlToId||{},e.stateToId=e.stateToId||{};for(t in h.idToState){if(!h.idToState.hasOwnProperty(t))continue;e.idToState[t]=h.idToState[t]}for(t in h.urlToId){if(!h.urlToId.hasOwnProperty(t))continue;e.urlToId[t]=h.urlToId[t]}for(t in h.stateToId){if(!h.stateToId.hasOwnProperty(t))continue;e.stateToId[t]=h.stateToId[t]}h.store=e,h.normalizeStore(),n=l.stringify(e);try{s.setItem("History.store",n)}catch(i){if(i.code!==DOMException.QUOTA_EXCEEDED_ERR)throw i;s.length&&(s.removeItem("History.store"),s.setItem("History.store",n))}},h.intervalList.push(a(h.onUnload,h.options.storeInterval)),h.Adapter.bind(e,"beforeunload",h.onUnload),h.Adapter.bind(e,"unload",h.onUnload));if(!h.emulated.pushState){h.bugs.safariPoll&&h.intervalList.push(a(h.safariStatePoll,h.options.safariPollInterval));if(i.vendor==="Apple Computer, Inc."||(i.appCodeName||"")==="Mozilla")h.Adapter.bind(e,"hashchange",function(){h.Adapter.trigger(e,"popstate")}),h.getHash()&&h.Adapter.onDomLoad(function(){h.Adapter.trigger(e,"hashchange")})}},(!h.options||!h.options.delayInit)&&h.init()}(window); }; !function(e,t,i,o){var n=e(t);e.fn.ggLazyLoad=function(r){var f,l=this,a={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:t,data_attribute:"original",skip_invisible:!1,appear:null,load:null,placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"};function h(){var t=0;l.each(function(){var i=e(this);if(!a.skip_invisible||i.is(":visible"))if(e.abovethetop(this,a)||e.leftofbegin(this,a));else if(e.belowthefold(this,a)||e.rightoffold(this,a)){if(++t>a.failure_limit)return!1}else i.trigger("appear"),t=0})}return r&&(o!==r.failurelimit&&(r.failure_limit=r.failurelimit,delete r.failurelimit),o!==r.effectspeed&&(r.effect_speed=r.effectspeed,delete r.effectspeed),e.extend(a,r)),f=a.container===o||a.container===t?n:e(a.container),0===a.event.indexOf("scroll")&&f.bind(a.event,function(){return h()}),this.each(function(){var t=this,i=e(t);t.loaded=!1,i.attr("src")!==o&&!1!==i.attr("src")||i.is("img")&&i.attr("src",a.placeholder),i.one("appear",function(){if(!this.loaded){if(a.appear){var o=l.length;a.appear.call(t,o,a)}e("").bind("load",function(){var o=i.attr("data-"+a.data_attribute);i.hide(),i.is("img")?i.attr("src",o):i.css("background-image","url('"+o+"')"),i.removeClass("ggLazyImg"),i[a.effect](a.effect_speed),t.loaded=!0;var n=e.grep(l,function(e){return!e.loaded});if(l=e(n),a.load){var r=l.length;a.load.call(t,r,a)}}).attr("src",i.attr("data-"+a.data_attribute))}}),0!==a.event.indexOf("scroll")&&i.bind(a.event,function(){t.loaded||i.trigger("appear")})}),n.bind("resize",function(){h()}),/(?:iphone|ipod|ipad).*os 5/gi.test(navigator.appVersion)&&n.bind("pageshow",function(t){t.originalEvent&&t.originalEvent.persisted&&l.each(function(){e(this).trigger("appear")})}),e(i).ready(function(){h()}),this},e.belowthefold=function(i,r){return(r.container===o||r.container===t?(t.innerHeight?t.innerHeight:n.height())+n.scrollTop():e(r.container).offset().top+e(r.container).height())<=e(i).offset().top-r.threshold},e.rightoffold=function(i,r){return(r.container===o||r.container===t?n.width()+n.scrollLeft():e(r.container).offset().left+e(r.container).width())<=e(i).offset().left-r.threshold},e.abovethetop=function(i,r){return(r.container===o||r.container===t?n.scrollTop():e(r.container).offset().top)>=e(i).offset().top+r.threshold+e(i).height()},e.leftofbegin=function(i,r){return(r.container===o||r.container===t?n.scrollLeft():e(r.container).offset().left)>=e(i).offset().left+r.threshold+e(i).width()},e.inviewport=function(t,i){return!(e.rightoffold(t,i)||e.leftofbegin(t,i)||e.belowthefold(t,i)||e.abovethetop(t,i))},e.extend(e.expr[":"],{"below-the-fold":function(t){return e.belowthefold(t,{threshold:0})},"above-the-top":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-screen":function(t){return e.rightoffold(t,{threshold:0})},"left-of-screen":function(t){return!e.rightoffold(t,{threshold:0})},"in-viewport":function(t){return e.inviewport(t,{threshold:0})},"above-the-fold":function(t){return!e.belowthefold(t,{threshold:0})},"right-of-fold":function(t){return e.rightoffold(t,{threshold:0})},"left-of-fold":function(t){return!e.rightoffold(t,{threshold:0})}})}(jQuery,window,document); (function($){ $.fn.extend({ slimScroll: function(options){ var defaults={ axis: 'y', width:'auto', height:'250px', size:'7px', color: '#000', positionX:'bottom', positionY:'right', distance:'1px', startX:'left', startY:'top', opacity:0.4, alwaysVisible:false, disableFadeOut:false, railVisible:false, railColor:'#333', railOpacity:0.2, railDraggable:true, railClassX:'slimScrollRailX', barClassX:'slimScrollBarX', railClassY:'slimScrollRailY', barClassY:'slimScrollBarY', wrapperClass:'slimScrollDiv', animate: false, allowPageScroll:false, wheelStep:20, touchScrollStep:200, borderRadius: '7px', railBorderRadius:'7px', 'ggSlimscrollHandler': false, }; var o=$.extend(defaults, options); o.axis=o.axis.toLowerCase(); this.each(function(){ var hasHorizontalScrollbar; var hasVerticalScrollbar; var t, pageX, pageY; var isOverPanel, isOverBarX, isOverBarY, isDragg, queueHideX, queueHideY, touchDifX, touchDifY, barHeight, barWidth, percentScrollX, lastScrollX, percentScrollY, lastScrollY, divS='
    ', minBarHeight=30, minBarWidth=30, releaseScroll=false; var me=$(this); var $doc=$(document); if(me.parent().hasClass(o.wrapperClass)){ $.extend(o, (me.data('slimScrollConfig')||{})); var offset_horizontal=me.scrollLeft(); var offset_vertical=me.scrollTop(); barX=me.siblings('.' + o.barClassX); railX=me.siblings('.' + o.railClassX); barY=me.siblings('.' + o.barClassY); railY=me.siblings('.' + o.railClassY); hasHorizontalScrollbar=(o.axis=='both'||o.axis=='x'); hasVerticalScrollbar=(o.axis=='both'||o.axis=='y'); getBarXWidth(); getBarYHeight(); if($.isPlainObject(options)){ if('width' in options&&hasHorizontalScrollbar){ if(options.width=='auto'){ me.parent().css('width', 'auto'); me.css('width', 'auto'); o.width=me.parent().parent().width(); }else{ o.width=options.width; me.css({'white-space': 'nowrap'}); }} if('height' in options&&hasVerticalScrollbar){ if(options.height=='auto'){ me.parent().css('height', 'auto'); me.css('height', 'auto'); o.height=me.parent().parent().height(); }else{ o.height=options.height; }} me.parent().css({ position: 'relative', overflow: 'hidden', width: o.width, height: o.height }); me.css({ overflow: 'hidden', width: o.width, height: o.height }); if('scrollToX' in options){ offset_horizontal=parseInt(o.scrollToX); } else if('scrollByX' in options){ offset_horizontal +=parseInt(o.scrollByX); } if('scrollToY' in options){ offset_vertical=parseInt(o.scrollToY); } else if('scrollByY' in options){ offset_vertical +=parseInt(o.scrollByY); } if('destroy' in options){ barX.remove(); railX.remove(); barY.remove(); railY.remove(); me.unwrap(); return; }} scrollContent(offset_horizontal, offset_vertical, false, true); return; } else if($.isPlainObject(options)){ if('destroy' in options){ return; }} hasHorizontalScrollbar=(o.axis=='both'||o.axis=='x'); hasVerticalScrollbar=(o.axis=='both'||o.axis=='y'); o.height=(o.height=='auto') ? me.parent().height():o.height; o.width=(o.width=='auto') ? me.parent().width():o.width; me.data('slimScrollConfig', o); var wrapper=$(divS) .addClass(o.wrapperClass) .css({ position: 'relative', overflow: 'hidden', width: o.width, height: o.height }); me.css({ overflow: 'hidden', width: o.width, height: o.height }); me.wrap(wrapper); if(hasHorizontalScrollbar){ if(o.width!='auto'&&hasHorizontalScrollbar){ me.css({'white-space': 'nowrap'}); } var railX=$(divS) .addClass(o.railClassX) .css({ width: '100%', height: o.size, position: 'absolute', left: 0, display: (o.alwaysVisible&&o.railVisible) ? 'block':'none', 'border-radius': o.railBorderRadius, background: o.railColor, opacity: o.railOpacity, zIndex: 90 }); var barX=$(divS) .addClass(o.barClassX) .css({ background: o.color, height: o.size, position: 'absolute', left: 0, opacity: o.opacity, display: o.alwaysVisible ? 'block':'none', 'border-radius':o.borderRadius, BorderRadius: o.borderRadius, MozBorderRadius: o.borderRadius, WebkitBorderRadius: o.borderRadius, zIndex: 99 }); var xPosCss=(o.positionX=='top') ? { top: o.distance }:{ bottom: o.distance }; railX.css(xPosCss); barX.css(xPosCss); me.parent().append(barX); me.parent().append(railX); if(o.railDraggable){ barX.on("mousedown", function(e){ isDragg=true; t=parseFloat(barX.css('left')); pageX=e.pageX; $doc.on("mousemove.slimscrollX", function(e){ currLeft=t + e.pageX - pageX; barX.css('left', currLeft); scrollContent(0, 0, barX.position().left); }); $doc.on("mouseup.slimscrollX", function(e){ isDragg=false; hideBarX(); $doc.unbind('.slimscrollX'); }); return false; }).on("selectstart.slimscrollX", function(e){ e.stopPropagation(); e.preventDefault(); return false; }); railX.on("mousedown", function(e){ var deltaX=(e.offsetX - (barWidth/2))* me[0].scrollWidth / me.outerWidth(); scrollContent(deltaX, 0, false, true); t=parseFloat(barX.css('left')); pageX=e.pageX; $doc.on("mousemove.slimscrollX", function(e){ currLeft=t + e.pageX - pageX; barX.css('left', currLeft); scrollContent(0, 0, barX.position().left); }); $doc.on("mouseup.slimscrollX", function(e){ isDragg=false; hideBarX(); $doc.unbind('.slimscrollX'); }); return false; }); } railX.hover(function(){ showBarX(); }, function(){ hideBarX(); }); barX.hover(function(){ isOverBarX=true; }, function(){ isOverBarX=false; }); getBarXWidth(); if(o.startX==='right'){ barX.css({ left: me.outerWidth() - barX.outerWidth() }); scrollContent(0, 0, true); } else if(o.startX!=='left'){ scrollContent($(o.startX).position().left, null, null, true); if(!o.alwaysVisible){ barX.hide(); }} } if(hasVerticalScrollbar){ var railY=$(divS) .addClass(o.railClassY) .css({ width: o.size, height: '100%', position: 'absolute', top: 0, display: (o.alwaysVisible&&o.railVisible) ? 'block':'none', 'border-radius': o.railBorderRadius, background: o.railColor, opacity: o.railOpacity, zIndex: 90 }); var barY=$(divS) .addClass(o.barClassY) .css({ background: o.color, width: o.size, position: 'absolute', top: 0, opacity: o.opacity, display: o.alwaysVisible ? 'block':'none', 'border-radius':o.borderRadius, BorderRadius: o.borderRadius, MozBorderRadius: o.borderRadius, WebkitBorderRadius: o.borderRadius, zIndex: 99 }); var yPosCss=(o.positionY=='right') ? { right: o.distance }:{ left: o.distance }; railY.css(yPosCss); barY.css(yPosCss); me.parent().append(barY); me.parent().append(railY); if(o.railDraggable){ barY.on("mousedown", function(e){ isDragg=true; t=parseFloat(barY.css('top')); pageY=e.pageY; $doc.on("mousemove.slimscrollY", function(e){ currTop=t + e.pageY - pageY; barY.css('top', currTop); scrollContent(0, 0, barY.position().top); }); $doc.on("mouseup.slimscrollY", function(e){ isDragg=false; hideBarY(); $doc.unbind('.slimscrollY'); }); return false; }).on("selectstart.slimscrollY", function(e){ e.stopPropagation(); e.preventDefault(); return false; }); railY.on("mousedown", function(e){ var deltaY=(e.offsetY - (barHeight/2))* me[0].scrollHeight / me.outerHeight(); scrollContent(0, deltaY, false, true); t=parseFloat(barY.css('top')); pageY=e.pageY; $doc.on("mousemove.slimscrollY", function(e){ currTop=t + e.pageY - pageY; barY.css('top', currTop); scrollContent(0, 0, barY.position().top); }); $doc.on("mouseup.slimscrollY", function(e){ isDragg=false; hideBarY(); $doc.unbind('.slimscrollY'); }); return false; }); } railY.hover(function(){ showBarY(); }, function(){ hideBarY(); }); barY.hover(function(){ isOverBarY=true; }, function(){ isOverBarY=false; }); getBarYHeight(); if(o.startY==='bottom'){ barY.css({ top: me.outerHeight() - barY.outerHeight() }); scrollContent(0, 0, true); } else if(o.startY!=='top'){ scrollContent(null, $(o.startY).position().top, null, true); if(!o.alwaysVisible){ barY.hide(); }} } me.hover(function(){ isOverPanel=true; showBarX(); showBarY(); hideBarX(); hideBarY(); }, function(){ isOverPanel=false; hideBarX(); hideBarY(); }); var _triggerInit=function(){ if(typeof(Hammer_gg)=='undefined'){ setTimeout(_triggerInit, 100); return; } if(o.isMobile){ var hammer=new Hammer_gg(me.context), scrollWidth=50; hammer.get('pan').set({ threshold:scrollWidth }); hammer.on('panleft',function(e){ scrollContent(0, scrollWidth, false, false, true); panDistance=e.distance; }); hammer.on('panend',function(e){ var offset=scrollWidth * (e.velocityX * -1) * 30; scrollContent(0, offset, false, false, true); }); hammer.on('panright',function(e){ scrollContent(0, -scrollWidth, false, false, true); panDistance=e.distance; }); }}; _triggerInit(); attachWheel(this); function _getDeltaFromEvent(e){ var deltaX=0; var deltaY=0; deltaX=((e.deltaX||-e.wheelDelta||e.detail) >> 10)||1; deltaY=((e.deltaY||-e.wheelDelta||e.detail) >> 10)||1; if('axis' in e&&e.axis===e.HORIZONTAL_AXIS){ deltaX=deltaY * -1; deltaY=0; } if(deltaX!==deltaX&&deltaY!==deltaY){ deltaX=0; } return [deltaX, deltaY]; } function _onWheel(e){ if(!isOverPanel){ return; } e=e||window.event; var delta=_getDeltaFromEvent(e); var deltaX=delta[0]; var deltaY=delta[1]; var target=e.target||e.srcTarget||e.srcElement; if($(target).closest('.' + o.wrapperClass).is(me.parent())){ scrollContent(deltaX, deltaY, true); } if(e.preventDefault&&!releaseScroll){ e.preventDefault(); e.stopPropagation(); } if(!releaseScroll){ e.returnValue=false; }} function scrollContent(x, y, isWheel, isJump, isPan){ releaseScroll=false; var needToRunWindowScroll=false, prevBarXOffset=0; if(hasHorizontalScrollbar){ var deltaX=x; var maxLeft=me.outerWidth() - barX.outerWidth(), totalWidth=me[0].scrollWidth, scrollOffset=me.scrollLeft(), barXOffset=parseFloat(barX.css('left')); if(isWheel){ if(!hasVerticalScrollbar){ x=y; } deltaX=parseInt(barX.css('left')) + (x * parseInt(o.wheelStep)); deltaX=Math.min(Math.max(deltaX, 0), maxLeft); deltaX=(x > 0) ? Math.ceil(deltaX):Math.floor(deltaX); barX.css({ left: deltaX + 'px' }); prevBarXOffset=barXOffset; barXOffset=parseFloat(barX.css('left')); needToRunWindowScroll=(prevBarXOffset==barXOffset); } percentScrollX=barXOffset / maxLeft; deltaX=percentScrollX * (totalWidth - me.outerWidth()); if(isPan){ deltaX=totalWidth - (totalWidth - scrollOffset - y); var panOffsetPercent=deltaX / (totalWidth - me.outerWidth()); var scrollBarOffset=maxLeft * panOffsetPercent; scrollBarOffset=Math.min(Math.max(scrollBarOffset, 0), maxLeft); scrollBarOffset=(x > 0) ? Math.ceil(scrollBarOffset):Math.floor(scrollBarOffset); barX.stop(true, true).animate({ left: scrollBarOffset + 'px' }, 300, 'linear'); } if(isJump){ if(!hasVerticalScrollbar){ x=y; } deltaX=x; var offsetLeft=deltaX / me[0].scrollWidth * me.outerWidth(); offsetLeft=Math.min(Math.max(offsetLeft, 0), maxLeft); barX.css({ left: offsetLeft + 'px' }); } if(o.animate){ me.scrollTop(deltaX); me.stop(true, true).animate({ scrollLeft: deltaX }, 500, 'linear'); }else{ me.scrollLeft(deltaX); } me.trigger('slimscrollingX', ~~deltaX); showBarX(needToRunWindowScroll); hideBarX(); } if(hasVerticalScrollbar){ var deltaY=y; var maxTop=me.outerHeight() - barY.outerHeight(); if(isWheel){ deltaY=parseInt(barY.css('top')) + (y * parseInt(o.wheelStep) /100); deltaY=Math.min(Math.max(deltaY, 0), maxTop); deltaY=(y > 0) ? Math.ceil(deltaY):Math.floor(deltaY); barY.css({ top: deltaY + 'px' }); } percentScrollY=parseInt(barY.css('top')) / (me.outerHeight() - barY.outerHeight()); deltaY=percentScrollY * (me[0].scrollHeight - me.outerHeight()); if(isJump){ deltaY=y; var offsetTop=deltaY / me[0].scrollHeight * me.outerHeight(); offsetTop=Math.min(Math.max(offsetTop, 0), maxTop); barY.css({ top: offsetTop + 'px' }); } me.scrollTop(deltaY); me.trigger('slimscrollingY', ~~deltaY); showBarY(); hideBarY(); } if(o.ggSlimscrollHandler){ o.ggSlimscrollHandler(); }} function attachWheel(target){ if(window.addEventListener){ if(typeof window.onwheel!=="undefined"){ target.addEventListener('wheel', _onWheel, false); }else if(typeof window.onmousewheel!=="undefined"){ target.addEventListener('mousewheel', _onWheel, false); } target.addEventListener('DOMMouseScroll', _onWheel, false); }else{ document.attachEvent("onmousewheel", _onWheel); }} function getBarXWidth(){ if(!barX){return;} barWidth=Math.max((me.outerWidth() / me[0].scrollWidth) * me.outerWidth(), minBarWidth); barX.css({ width: barWidth + 'px' }); var display=(hasHorizontalScrollbar&&(me[0].scrollWidth>me[0].clientWidth)) ? 'block':'none'; barX.css({ display: display }); } function getBarYHeight(){ if(!barY){return;} barHeight=Math.max((me.outerHeight() / me[0].scrollHeight) * me.outerHeight(), minBarHeight); barY.css({ height: barHeight + 'px' }); var display=(hasVerticalScrollbar&&(me[0].scrollHeight>me[0].clientHeight)) ? 'block':'none'; barY.css({ display: display }); } function showBarX(needToRunWindowScroll){ if(!barX){return;} getBarXWidth(); clearTimeout(queueHideX); if(percentScrollX==~~percentScrollX&&needToRunWindowScroll){ releaseScroll=o.allowPageScroll; if(lastScrollX!=percentScrollX){ var msg=(~~percentScrollX===0) ? 'left':'right'; me.trigger('slimscrollX', msg); }}else{ releaseScroll=false; } lastScrollX=percentScrollX; if(barWidth >=me.outerWidth()){ releaseScroll=true; return; } barX.fadeIn('fast'); if(o.railVisible){ railX.stop(true,true).fadeIn('fast'); }} function hideBarX(){ if(!barX){return;} if(!o.alwaysVisible){ queueHideX=setTimeout(function(){ if(!(o.disableFadeOut&&isOverPanel)&&!isOverBarX&&!isDragg){ barX.fadeOut('slow'); railX.fadeOut('slow'); }}, 1000); }} function showBarY(){ if(!barY){return;} getBarYHeight(); clearTimeout(queueHideY); if(percentScrollY==~~percentScrollY){ releaseScroll=o.allowPageScroll; if(lastScrollY!=percentScrollY){ var msg=(~~percentScrollY===0) ? 'top':'bottom'; me.trigger('slimscrollY', msg); }}else{ releaseScroll=false; } lastScrollY=percentScrollY; if(barHeight >=me.outerHeight()){ releaseScroll=true; return; } barY.stop(true,true).fadeIn('fast'); if(o.railVisible){ railY.stop(true,true).fadeIn('fast'); }} function hideBarY(){ if(!barY){return;} if(!o.alwaysVisible){ queueHideY=setTimeout(function(){ if(!(o.disableFadeOut&&isOverPanel)&&!isOverBarY&&!isDragg){ barY.fadeOut('slow'); railY.fadeOut('slow'); }}, 1000); }} }); return this; }}); $.fn.extend({ slimscroll: $.fn.slimScroll }); })(jQuery); ;(function($, doc, win){ "use strict"; var Photobox, photobox, options, images=[], imageLinks, activeImage=-1, activeURL, lastActive, activeType, prevImage, nextImage, thumbsStripe, docElm, APControl, changeImage, transitionend="transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", isOldIE = !('placeholder' in doc.createElement('input')), noPointerEvents=(function(){ var el=$('

    ')[0]; el.style.cssText='pointer-events:auto'; return !el.style.pointerEvents})(), isTouchDevice=false, thumbsContainerWidth, thumbsTotalWidth, activeThumb=$(), blankImg="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==", transformOrigin=getPrefixed('transformOrigin'), transition=getPrefixed('transition'), raf=window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.msRequestAnimationFrame || function(cb){ return window.setTimeout(cb, 1000 / 60); }, preload={}, preloadPrev=new Image(), preloadNext=new Image(), closeBtn, image, video, prevBtn, nextBtn, thumbsToggler, caption, captionText, pbLoader, autoplayBtn, thumbs, wrapper, defaults={ single:false, beforeShow:null, afterClose:null, getTitle:null, loop:true, thumb:null, thumbs:true, thumbAttr:'data-src', counter:"(A/B)", title:true, autoplay:false, time:3000, history:false, hideFlash:true, zoomable:true, wheelNextPrev:true, keys:{ close:[27, 88, 67], prev:[37, 80], next:[39, 78] }}, overlay=$('

    ').append(thumbsToggler=$(''), pbLoader=$('
    '), prevBtn=$('
    ').on('click', next_prev), nextBtn=$('
    ').on('click', next_prev), wrapper=$('
    ').append(image=$(''), video=$('
    ') ), closeBtn=$('
    ').on('click', close)[0], autoplayBtn=$('
    ').append($('
    ') ), caption=$('
    ').append('', captionText=$('
    ').append('
    '), thumbs=$('
    ').addClass('pbThumbs') ) ); function throttle(callback, duration){ var wait=false; return function(){ if(!wait){ callback.call(); wait=true; setTimeout(function(){wait=false; }, duration); }} } function prepareDOM(){ noPointerEvents&&overlay.hide(); $(doc).on('touchstart.testMouse', function(){ $(doc).off('touchstart.testMouse'); isTouchDevice=true; overlay.addClass('mobile'); }); autoplayBtn.off().on('click', APControl.toggle); thumbs.off().on('click', 'a', thumbsStripe.click); isOldIE&&overlay.addClass('msie'); overlay.off().on('click', 'img', function(e){ e.stopPropagation(); }); $(doc.body).append(overlay); docElm=doc.documentElement; } $.fn.photobox=function(target, settings, callback){ return this.each(function(){ var o, PB_data=$(this).data('_photobox'); if(PB_data){ if(target==='destroy') PB_data.destroy(); return this; } if(typeof target!='string') target='a'; if(target==='prepareDOM'){ prepareDOM(); return this; } if(settings.isDisableRightClick){ overlay.off('contextmenu').on('contextmenu', function(e){return false;}); } o=$.extend({}, defaults, settings||{}); photobox=new Photobox(o, this, target); $(this).data('_photobox', photobox); photobox.callback=callback; }); } Photobox=function(_options, object, target){ this.options=$.extend({}, _options); this.target=target; this.selector=$(object||doc); this.thumbsList=null; var filtered=this.imageLinksFilter(this.selector.find(target)); this.imageLinks=filtered[0]; this.images=filtered[1]; this.init(); }; Photobox.prototype={ init:function(){ var that=this; if(!that.thumbsList){ that.thumbsList=thumbsStripe.generate.apply(that); } this.selector.on('click.photobox', this.target, function(e){ e.preventDefault(); that.open(this); }); this.observerTimeout=null; if(this.selector[0].nodeType==1) this.observeDOM(this.selector[0], this.onDOMchanges.bind(this)); }, onDOMchanges:function(){ var that=this; clearTimeout(this.observerTimeout); that.observerTimeout=setTimeout(function(){ var filtered=that.imageLinksFilter(that.selector.find(that.target)), activeIndex=0, isActiveUrl=false, i; if(that.imageLinks.length==filtered[0].length) return; that.imageLinks=filtered[0]; that.images=filtered[1]; if(photobox){ if(that.selector==photobox.selector){ images=that.images; imageLinks=that.imageLinks; for(i=images.length; i--;){ if(images[i][0]==activeURL) isActiveUrl=true; }} } that.thumbsList=thumbsStripe.generate.apply(that); thumbs.html(that.thumbsList); if(that.images.length&&activeURL&&that.options.thumbs){ activeIndex=that.thumbsList.find('a[href="'+activeURL+'"]').eq(0).parent().index(); if(activeIndex==-1) activeIndex=0; thumbsStripe.changeActive(activeIndex, 0); }}, 50); }, open:function(link){ var startImage=$.inArray(link, this.imageLinks); if(startImage==-1) return false; options=this.options; images=this.images; imageLinks=this.imageLinks; photobox=this; this.setup(1); overlay.on(transitionend, function(){ overlay.off(transitionend).addClass('on'); changeImage(startImage, true); }).addClass('show'); if(isOldIE) overlay.trigger('MSTransitionEnd'); return false; }, imageLinksFilter:function(obj){ var that=this, images=[], caption={}, captionlink; return [obj.filter(function(i){ var link=$(this), thumbImg, thumbSrc=''; caption.content=link[0].getAttribute('title')||''; if(that.options.thumb&&typeof that.options.thumb==='string') thumbImg=link.find(that.options.thumb)[0]; if(typeof that.options.thumb==='function'&&link&&link.length&&link.closest){ var funcRetThumbs=that.options.thumb(link); if(funcRetThumbs){ thumbImg=funcRetThumbs; }} if(!that.options.thumb||!thumbImg) thumbImg=link.find('img')[0]; if(thumbImg){ captionlink=thumbImg.getAttribute('data-pb-captionlink'); thumbSrc=thumbImg.getAttribute(that.options.thumbAttr)||thumbImg.getAttribute('src'); caption.content=(thumbImg.getAttribute('title')||thumbImg.getAttribute('alt')||''); } if(captionlink){ captionlink=captionlink.split('['); if(captionlink.length==2){ caption.linkText=captionlink[0]; caption.linkHref=captionlink[1].slice(0,-1); }else{ caption.linkText=captionlink; caption.linkHref=captionlink; } caption.content +=' ' + caption.linkText + ''; } images.push([link[0].href, caption.content, thumbSrc]); return true; }), images]; }, observeDOM:(function(){ var MutationObserver=win.MutationObserver||win.WebKitMutationObserver, eventListenerSupported=win.addEventListener; return function(obj, callback){ if(MutationObserver){ var that=this; var obs=new MutationObserver(function(mutations, observer){ if(mutations[0].addedNodes.length||mutations[0].removedNodes.length) callback(that); }); obs.observe(obj, { childList:true, subtree:true }); } else if(eventListenerSupported){ obj.addEventListener('DOMNodeInserted', callback.bind(that), false); obj.addEventListener('DOMNodeRemoved', callback.bind(that), false); }} })(), setup:function (open){ var fn=open ? "on":"off"; image[0].src=blankImg; if(options.thumbs){ if(!isTouchDevice){ thumbs[fn]('mouseenter.photobox', thumbsStripe.calc) [fn]('mousemove.photobox', thumbsStripe.move); }} if(open){ image.css({'transition':'0s'}).removeAttr('style'); overlay.show(); thumbs .html(this.thumbsList) .trigger('mouseenter.photobox'); if(options.thumbs){ overlay.addClass('thumbs'); }else{ thumbsToggler.prop('checked', false); overlay.removeClass('thumbs'); } if(this.images.length < 2||options.single) overlay.removeClass('thumbs hasArrows hasCounter hasAutoplay'); else{ overlay.addClass('hasArrows hasCounter') if(options.time > 1000){ overlay.addClass('hasAutoplay'); if(options.autoplay) APControl.progress.start(); else APControl.pause(); } else overlay.removeClass('hasAutoplay'); } options.hideFlash&&$('iframe, object, embed').css('visibility', 'hidden'); }else{ $(win).off('resize.photobox'); } $(doc).off("keydown.photobox")[fn]({ "keydown.photobox": keyDown }); if(isTouchDevice){ wrapper[fn]('swipe', onSwipe); } if(options.zoomable){ overlay[fn]({"mousewheel.photobox": scrollZoom }); if(!isOldIE) thumbs[fn]({"mousewheel.photobox": thumbsResize }); } if(!options.single&&options.wheelNextPrev){ overlay[fn]({"mousewheel.photobox": throttle(wheelNextPrev,1000) }); }}, destroy:function(){ options=this.options; this.selector .off('click.photobox', this.target) .removeData('_photobox'); close(); }} function onSwipe(e, Dx, Dy){ if(Dx==1){ image.css({transform:'translateX(25%)', transition:'.2s', opacity:0}); setTimeout(function(){ changeImage(prevImage) }, 200); } else if(Dx==-1){ image.css({transform:'translateX(-25%)', transition:'.2s', opacity:0}); setTimeout(function(){ changeImage(nextImage) }, 200); } if(Dy==1) thumbsToggler.prop('checked', true); else if(Dy==-1) thumbsToggler.prop('checked', false); } thumbsStripe=(function(){ var containerWidth=0, scrollWidth=0, posFromLeft=0, stripePos=0, animated=null, padding, el, $el, ratio, scrollPos, pos; return{ generate:function(){ var thumbsList=$('
      '), elements=[], len=this.imageLinks.length, title, thumbSrc, link, type, i; for(i=0; i < len; i++){ link=this.imageLinks[i]; thumbSrc=this.images[i][2]; if(!thumbSrc) continue; title=this.images[i][1]; type=link.rel ? " class='" + link.rel +"'":''; elements.push(''); }; thumbsList.html(elements.join('')); return thumbsList; }, click:function(e){ e.preventDefault(); activeThumb.removeClass('active'); $(document).trigger('pboxPreviewClicked'); activeThumb=$(this).parent().addClass('active'); var imageIndex=$(this.parentNode).index(); return changeImage(imageIndex, 0, 1); }, changeActiveTimeout:null, changeActive:function(index, delay, thumbClick){ if(!options.thumbs) return; var lastIndex=activeThumb.index(); activeThumb.removeClass('active'); activeThumb=thumbs.find('li').eq(index).addClass('active'); if(thumbClick||!activeThumb[0]) return; clearTimeout(this.changeActiveTimeout); this.changeActiveTimeout=setTimeout( function(){ var pos=activeThumb[0].offsetLeft + activeThumb[0].clientWidth/2 - docElm.clientWidth/2; delay ? thumbs.delay(800):thumbs.stop(); thumbs.animate({scrollLeft: pos}, 500, 'swing'); }, 200); }, calc:function(e){ el=thumbs[0]; containerWidth=el.clientWidth; scrollWidth=el.scrollWidth; padding=0.15 * containerWidth; posFromLeft=thumbs.offset().left; stripePos=e.pageX - padding - posFromLeft; pos=stripePos / (containerWidth - padding*2); scrollPos=(scrollWidth - containerWidth) * pos; thumbs.animate({scrollLeft:scrollPos}, 200); clearTimeout(animated); animated=setTimeout(function(){ animated=null; }, 200); return this; }, move:function(e){ if(animated) return; var ratio=scrollWidth / containerWidth, stripePos=e.pageX - padding - posFromLeft, pos, scrollPos; if(stripePos < 0) stripePos=0; pos=stripePos / (containerWidth - padding*2); scrollPos=(scrollWidth - containerWidth) * pos; raf(function(){ el.scrollLeft=scrollPos; }); }} })(); APControl={ autoPlayTimer:false, play:function(){ APControl.autoPlayTimer=setTimeout(function(){ changeImage(nextImage) }, options.time); APControl.progress.start(); autoplayBtn.removeClass('play'); APControl.setTitle('Click to stop autoplay'); options.autoplay=true; }, pause:function(){ clearTimeout(APControl.autoPlayTimer); APControl.progress.reset(); autoplayBtn.addClass('play'); APControl.setTitle('Click to resume autoplay'); options.autoplay=false; }, progress:{ reset:function(){ autoplayBtn.find('div').removeAttr('style'); setTimeout(function(){ autoplayBtn.removeClass('playing') },200); }, start:function(){ if(!isOldIE) autoplayBtn.find('div').css(transition, options.time+'ms'); autoplayBtn.addClass('playing'); }}, setTitle:function(text){ if(text) autoplayBtn.prop('title', text + ' (every ' + options.time/1000 + ' seconds)'); }, toggle:function(e){ e.stopPropagation(); APControl[ options.autoplay ? 'pause':'play'](); }} function getPrefixed(prop){ var i, s=doc.createElement('p').style, v=['ms','O','Moz','Webkit']; if(s[prop]=='') return prop; prop=prop.charAt(0).toUpperCase() + prop.slice(1); for(i=v.length; i--;) if(s[v[i] + prop]=='') return (v[i] + prop); } function keyDown(event){ var code=event.keyCode, ok=options.keys, result; return $.inArray(code, ok.close) >=0&&close() || $.inArray(code, ok.next) >=0&&!options.single&&loophole(nextImage) || $.inArray(code, ok.prev) >=0&&!options.single&&loophole(prevImage)||true; } function wheelNextPrev(e, dY, dX){ if(dX==1) loophole(nextImage); else if(dX==-1) loophole(prevImage); } function next_prev(){ var idx=(this.id=='pbPrevBtn') ? prevImage:nextImage; loophole(idx); return false; } function updateIndexes(idx){ lastActive=activeImage; activeImage=idx; activeURL=images[idx][0]; prevImage=(activeImage||(options.loop ? images.length:0)) - 1; nextImage=((activeImage + 1) % images.length)||(options.loop ? 0:-1); } function loophole(idx){ if(!options.loop){ var afterLast=activeImage==images.length-1&&idx==nextImage, beforeFirst=activeImage==0&&idx==prevImage; if(afterLast||beforeFirst) return; } changeImage(idx); } changeImage=(function(){ var timer; return function(imageIndex, firstTime, thumbClick){ if(timer) return; timer=setTimeout(function(){ timer=null; }, 150); if(!imageIndex||imageIndex < 0) imageIndex=0; if(!options.loop){ nextBtn[ imageIndex==images.length-1 ? 'addClass':'removeClass' ]('hide'); prevBtn[ imageIndex==0 ? 'addClass':'removeClass' ]('hide'); } if(typeof options.beforeShow=="function") options.beforeShow(imageLinks[imageIndex]); overlay.removeClass('error').addClass(imageIndex > activeImage ? 'next':'prev'); updateIndexes(imageIndex); stop(); video.empty(); preload.onerror=null; image.add(video).data('zoom', 1); activeType=imageLinks[imageIndex].rel=='video' ? 'video':'image'; if(activeType=='video'){ if($(imageLinks[activeImage]).attr('href').match(//i)){ video.html(newVideo(true)).addClass('hide').attr('data-iframe', 'original_frame'); }else{ video.html(newVideo()).addClass('hide'); } showContent(firstTime); }else{ var loaderTimeout=setTimeout(function(){ overlay.addClass('pbLoading'); }, 50); if(isOldIE) overlay.addClass('hide'); options.autoplay&&APControl.progress.reset(); preload=new Image(); preload.onload=function(){ preload.onload=null; if(prevImage >=0) preloadPrev.src=images[prevImage][0]; if(nextImage >=0) preloadNext.src=images[nextImage][0]; clearTimeout(loaderTimeout); showContent(firstTime); }; preload.onerror=imageError; preload.src=activeURL; } captionText.on(transitionend, captionTextChange).addClass('change'); if(firstTime||isOldIE) captionTextChange(); thumbsStripe.changeActive(imageIndex, firstTime, thumbClick); history.save(); }})(); function newVideo(iframe){ if(!iframe){ iframe=false } if(iframe){ var url=$(imageLinks[activeImage]).attr('href'); return url; } var url=images[activeImage][0], sign=$('').prop('href',images[activeImage][0])[0].search ? '&':'?'; url +=sign + 'vq=hd720&wmode=opaque'; return $("'); $('body').append(iframe); window.setTimeout(function(){ iframe.remove(); }, 500); }); var self=this; $imageSharing.each(function(){ $(this).css(correctCss); var thumbnail=$(this).data('img-thumbnail'); if(thumbnail){ for(var sharingClass in self.socialSharingImageOperators){ var $button=$(this).find('.social-sharing-button.'+sharingClass); if($button.length){ var img_url=$(this).data('img-url'), img_id=$(this).data('img-id'), shareUrlObj=self.urlToObject($button.attr('href')), newHref=''; shareUrlObj.params[self.socialSharingImageOperators[sharingClass]]=thumbnail; newHref=self.objectToUrl(shareUrlObj); if(img_url){ newHref=newHref.replace(img_url, self.addPopUpHashToUrl(self.socialButtonsUrl, img_id) ); } $button.attr('href', newHref); }} }}); }; Gallery.prototype.urlToObject=(function(strUrl){ if(!strUrl){ return null; } var posQ=strUrl.indexOf('?'); if(posQ==-1){ return null; } var strQueryParams=strUrl.substr(posQ + 1) , result={ 'url': strUrl.substr(0, posQ), 'params': {}, } ; strQueryParams.split("&").forEach(function(part){ var item=part.split("="); if(item.length >=2){ result.params[item[0]]=decodeURIComponent(item[1]); }}); return result; }); Gallery.prototype.objectToUrl=(function(specObj){ if(!specObj){ return null; } var resUrl=''; if(specObj.url){ resUrl=specObj.url; } if(specObj.params){ var paramParts=[] , paramKeys=Object.keys(specObj.params) , indX=0 ; for(indX=0; indX < paramKeys.length; indX++){ paramParts.push(encodeURIComponent(paramKeys[indX]) + '=' + encodeURIComponent(specObj.params[paramKeys[indX]])); } resUrl=resUrl + '?' + paramParts.join('&'); } return resUrl; }); Gallery.prototype.addSocialShareToPopUp=function($element, $wrapper, addClass, fixed){ if(!this.socialSharing.enabled||!parseInt(this.socialSharing.popupSharing.enabled)){ return; } var buttonsClass='supsystic-grid-gallery-image-sharing ' + addClass; if(!fixed){ buttonsClass +=' ' + this.socialSharing.popupSharing.wrapperClass; } var attachId=$element.attr('data-attachment-id'); var attachObject=jQuery('body').find('.gg-link[data-attachment-id="'+attachId+'"]'); var attachHtml=attachObject.find('.supsystic-social-sharing').html(); $wrapper.find('.supsystic-grid-gallery-image-sharing').remove(); $wrapper.prepend(this.getSocialButtonsByImage(buttonsClass, $element, true)); $wrapper.find('.supsystic-social-sharing').html(attachHtml); $wrapper.find('.supsystic-social-sharing .trigger-popup').remove(); this.correctImageSocialButtons($wrapper.find('.supsystic-grid-gallery-image-sharing')); this.initEvent($wrapper.children("." + this.socialSharingWrapperClass)); }; Gallery.prototype.removePopUpHashFromUrl=function(url){ var match=url.match(/gg-\d+-\d+/); return url.replace(url[url.indexOf(match)-1] + match,""); }; Gallery.prototype.addPopUpHashToUrl=function(url, hash){ if(!hash||!hash.length){ return url; } var prefix='?'; if(url.indexOf(prefix)!=-1) prefix='&'; return url + prefix + hash; }; Gallery.prototype.openHashPopUp=function(){ var getElementId=function(){ var search=window.location.search; if(search.match(/gg-\d+-\d+/)){ return search.match(/gg-\d+-\d+/); } var hash=window.location.hash; if(hash.match(/gg-\d+-\d+/)){ return hash.match(/gg-\d+-\d+/); }}; var elementId=getElementId(), $element=this.$container.find('#' + elementId + ', [data-id="' + elementId + '"]').first(); if($element.length){ $element.click(); var $figure; if($element.hasClass('hi-icon')){ $figure=$element.closest('figure.grid-gallery-caption'); }else{ $figure=$element.children('figure'); } if($figure.length){ $('html, body').animate({ scrollTop: $figure.offset().top }, 100); }} }; Gallery.prototype.updateQueryParams=function (url, params){ for (var param in params){ var re=new RegExp("[\\?&]" + param + "=([^&#]*)"), match=re.exec(url), delimiter, value=params[param]; if(match===null){ var hasQuestionMark=/\?/.test(url); delimiter=hasQuestionMark ? "&":"?"; if(value){ url=url + delimiter + param + "=" + value; }}else{ delimiter=match[0].charAt(0); if(value){ url=url.replace(re, delimiter + param + "=" + value); }else{ url=url.replace(re, ''); if(delimiter==='?'&&url.length){ url='?' + url.substr(1); }} }} return url; }; Gallery.prototype.changePopUpHash=function(hash){ var galleryId=this.$container.attr('data-gg-id') , galleryOpenPopupHashRegex=new RegExp('gg-' + galleryId + '(?:-(\\d+))*') , regexFoundGalleryImageId=galleryOpenPopupHashRegex.exec(hash) , changedUrlDisabled=this.$container.attr('data-popup-disable-changed-url'); if(changedUrlDisabled!=='true'){ if(!regexFoundGalleryImageId||regexFoundGalleryImageId.length < 2||!regexFoundGalleryImageId[1]){ return; } this.popupIsOpened=true; if(this.ignoreStateChange){ this.ignoreStateChange=false; return; } var queryParams=this.updateQueryParams(window.location.search, {'_gallery': hash}), stateUrl=window.location.pathname + queryParams; this.historyStateChange=true; if(!this.popupIsInit){ if(queryParams===document.location.search){ History.replaceState({ type: 'sc-gallery', hash: hash, state: 'close' }, document.title, window.location.pathname + this.updateQueryParams(window.location.search, {'_gallery': null})); History.pushState({ type: 'sc-gallery', hash: hash, state: 'init' }, document.title, stateUrl); }else{ History.replaceState({ type: 'sc-gallery', hash: hash, state: 'init' }, document.title, stateUrl); } this.popupIsInit=true; }else{ if(this.disablePopupHistory){ History.replaceState({ type: 'sc-gallery', hash: hash, state: 'change' }, document.title, stateUrl); }else{ History.pushState({ type: 'sc-gallery', hash: hash, state: 'change' }, document.title, stateUrl); }} this.historyStateChange=false; }}; Gallery.prototype.clearPopUpHash=function(){ this.historyStateChange=true; if(this.disablePopupHistory){ History.replaceState({ type: 'sc-gallery', hash: '', state: 'close' }, document.title, window.location.pathname + this.updateQueryParams(window.location.search, {'_gallery': null})); }else{ History.pushState({ type: 'sc-gallery', hash: '', state: 'close' }, document.title, window.location.pathname + this.updateQueryParams(window.location.search, {'_gallery': null})); } this.historyStateChange=false; this.popupIsOpened=false; }; Gallery.prototype.getRealImgSizeInBrowser=(function(arguments){ if(!arguments&&!arguments.length){ return null; } if(arguments.length > 1){ returnType=arguments[1]; } if(arguments.length){ $image=arguments[0]; } var returnData=null , boundRect=null; if($image&&$image.length&&$image[0].getBoundingClientRect){ boundRect=$image[0].getBoundingClientRect(); } if(returnType=='h'){ if(boundRect&&boundRect.height){ returnData=boundRect.height; }else{ returnData=parseFloat($image.css('height')); }}else if(returnType=='w'){ if(boundRect&&boundRect.width){ returnData=boundRect.width; }else{ returnData=parseFloat($image.css('width')); }} return returnData; }); Gallery.prototype.lazyLoadTriggerHandler=(function(){ $(document).trigger('scroll'); }); Gallery.prototype.lazyLoadDistanceRefresh=(function(waitTime){ var self=this, galleryType=this.$container.data('gridType'); if(typeof(waitTime)=='undefined'){ waitTime=400; } if(self.ggLazyTimeOut){ clearTimeout(self.ggLazyTimeOut); } self.ggLazyTimeOut=setTimeout(function(){ setTimeout(function(){ $.each(self.$elements, function(index, el){ var $el=$(el); if($el.data('grid-gallery-type')=='polaroid'){ self.polaroidCaptionCalculate($el); }}); }, waitTime + 50); switch(galleryType){ case 4: $(document).trigger('ggMosaicResizedEvent'); break; case 0: if(typeof(self.setCaptionOnHoverImage)=='function'){ self.setCaptionOnHoverImage(); } setTimeout(function(){ self.lazyLoadTriggerHandler(); setTimeout(function(){ if(self.wookmark){ self.wookmark.trigger('refreshWookmark'); }}, 50); }, waitTime + 60); break; case 1: if(typeof(self.setCaptionOnHoverImage)=='function'){ self.setCaptionOnHoverImage(); } $.each(self.$elements, function(index, el){ var $el=$(el); if($el.data('grid-gallery-type')=='3d-cube'){ self.changeImageHeightFor3dCubeEffect($el, $el.width(), ($el.find('img').length ? $el.find('img').height():$el.height())); }}); case 2: case 3: default: setTimeout(function(){ self.lazyLoadTriggerHandler(); self.initWookmark(); }, waitTime + 50); break; }}, 100); }); Gallery.prototype.initLazyLoad=(function(){ var self=this , hoverImgSrc=this.$container.data('image-on-hover'); var showMoreCategory=this.$container.find('.showMoreCategory'), effect=this.$container.data('lazyload-effect'), duration=this.$container.data('lazyload-effect-duration'); if(typeof(effect)=='undefined'){ effect='show'; duration=400; } var waitTime=effect=='fadeIn' ? 200:duration; self.ggLazyTimeOut=null; this.$container.find('.ggLazyImg').ggLazyLoad({ 'data_attribute': 'gg-real-image-href', 'threshold': 50, 'effect': effect, 'effectspeed': duration, 'skip_invisible': (showMoreCategory.length > 0), 'load': function(event){ var image=$(this); self.lazyLoadDistanceRefresh(waitTime); if(self.$container.data('gridType')!=0){ image.closest('div .crop').css('height', ''); } image.closest('figure').css('height', 'auto'); if(self.$container.data('gridType')==2&&self.$elements){ setTimeout(function(){ self.resizeElementHeight(image, image.closest('figure')); }, waitTime + 20); }}, }); }); Gallery.prototype.init=(function (){ this.$container.imagesLoaded($.proxy(function (){ var self=this; $(document).trigger("GalleryBeforeInit", this); this.hidePreloader(); this.showCaption(); this.initRowsMode(); this.initHorizontalGalleryType(); this.initQuicksand (); if(this.$container.attr('data-fullscreen')=='true'){ this.correctFullScreenWidthGallery(); $(window).resize(function(){ self.correctFullScreenWidthGallery(); }); } this.initHorizontalMode(); this.setOverlayTransparency(); this.initCaptionCalculations(); this.initCaptionEffects(); this.hideTitleTooltip(); this.initPagination(); this.initPopup(); this.setMouseShadow(); this.setImageOverlay(); this.loadFontFamily(); this.hidePopupCaptions(); this.preventImages(); this.initWookmark(); this.initCategories(); this.setIconsPosition(); this.correctMargin(); this.initControll(); this.showGalleryParts(); this.initLazyLoad(); this.initSocialSharing(); setTimeout(function(){ if(self.wookmark){ self.wookmark.trigger('refreshWookmark'); }}, 500); $(document).trigger("GalleryAfterInit", this); setTimeout(function(){ self.openHashPopUp(); },500); var galleryId=this.$container.attr('data-gg-id'), openByLinkRegexp=new RegExp('#gg-open-' + galleryId + '(\\-([\\d]+))*$'); History.Adapter.bind(window, 'statechange', function(event){ var state=History.getState(); if(!self.historyStateChange){ if((state.data.type!=='sc-gallery'&&self.popupIsOpened) || (state.data.type==='sc-gallery'&&(state.data.state==='close'||state.data.state==='hashchange')&&self.popupIsOpened) ){ if(self.popupType=='pretty-photo'){ this.$prettyPhoto&&this.$prettyPhoto.close(); } if(self.popupType=='colorbox'){ $.colorbox&&$.colorbox.close(); } if(self.popupType=='photobox'){ window._photobox&&window._photobox.close(); }} if(state.data.type==='sc-gallery'&&state.data.hash&&state.data.state!=='close'){ self.ignoreStateChange=true; var $el=self.$container.find('#' + state.data.hash + ', [data-id="' + state.data.hash + '"]').first(); if(self.popupIsOpened){ if(self.popupType=='pretty-photo'&&this.$prettyPhoto){ var href=$el.attr('href'), index=this.$prettyPhoto.getImagesList().indexOf(href); this.$prettyPhoto.changePage(index); } if(self.popupType=='colorbox'){ $.colorbox.resizeResponsive($el); } if(self.popupType=='photobox'){ var images=window._photobox.getImages(), href=$el.attr('href'); for (var i=0; i < images.length; i++){ if(images[i][0]==href||images[i][0]=='http:' + href||images[i][0]=='https:' + href){ window._photobox.changeImage(i); }} }}else{ $el.trigger('click'); }} }}); function checkUrl(){ var hash=window.location.hash, matches=openByLinkRegexp.exec(hash); if(matches){ History.replaceState({ type: 'sc-gallery', hash: '', state: 'hashchange' }, document.title, window.location.pathname); var position=matches[2] ? 'eq(' + (matches[2] - 1) + ')':'first'; self.$container.find('.gg-link:' + position + ', .hi-icon:' + position).trigger('click'); }} $(window).on('hashchange', function(event){ checkUrl(); }); $(document).ready(function (){ checkUrl(); }); }, this)); $(window).on('resize', $.proxy(function (){ this.correctMargin(); this.resizeHorizontalElements(); this.initHorizontalMode(); }, this)); }); Gallery.prototype.resizeHorizontalElements=(function (){ var self=this; if(this.$container.data('gridType')==2&&this.$elements){ this.$elements.each(function(){ var element=$(this), image=element.find('img'); if(image){ self.resizeElementHeight(image, element); }}); }}); Gallery.prototype.resizeElementHeight=(function (image, element){ var imageHeight=parseInt(image.css('height')); if(!isNaN(imageHeight)&&!element.hasClass('initialized')){ element.css('height', Math.floor(imageHeight - 1) + 'px'); } if(!image.hasClass('ggLazyImg')){ image.removeClass('ggNotInitImg'); this.polaroidCaptionCalculate(element); }}); window.initGridGallery=(function (el, autoInit){ var makeSelector=(function (el){ return '#' + el.id; }); return new Gallery(makeSelector(el), autoInit); }); window.contentLoaded=(function(){ var $galleries=$(".grid-gallery:not('.initialized')"), $promise=new $.Deferred().resolve(); if($galleries.length > 0){ $.each($galleries, (function(i, el){ $promise=$promise.then(function(){ return new Gallery(el, true); }); })); } $('.crop').css('display', 'block'); }); if(!init){ var hammer=new Hammer_gg(document) , $anyGallery=$(".grid-gallery:first") , isMobile=parseInt($anyGallery.attr('data-is-mobile')) ; if(!isNaN(isMobile)&&isMobile){ hammer.on('swipeleft swiperight', function(event){ if(event.type=='swipeleft'){ $("#colorbox:visible #cboxNext, .pp_pic_holder a.pp_arrow_next, #cboxOverlay:visible #pbNextBtn").click(); }else{ $("#colorbox:visible #cboxPrevious, .pp_pic_holder a.pp_arrow_previous, #cboxOverlay:visible #pbPrevBtn").click(); }}); } init=true; } $(document).ready(function (){ contentLoaded(); }).ajaxComplete(function(){ contentLoaded(); }); if(jQuery('body').hasClass('oceanwp-theme')){ function oceanwpFixedFooter (){ $("#main").css("min-height", "0px"); }; jQuery(window).resize(function(){ oceanwpFixedFooter(); }); jQuery(document).ready(function (){ setTimeout(function(){ oceanwpFixedFooter(); },3000); }); } $(document).on('ggFirInitialize', function(){ contentLoaded(); }); $('a.gg-link').each(function(){ var gLink=$(this).attr('href'); var reg=/[0-9a-z_]+@[0-9a-z_]+\.[a-z]{2,5}/i; if(gLink){ var isEmail=gLink.match(reg); if(isEmail){ $(this).attr('href','mailto:' + isEmail[0]); }} }); jQuery(document).ready(function(){ setTimeout(function(){ jQuery('body').find('.supsystic-social-sharing').each(function(key, value){ var summary=0; jQuery(this).find('.social-sharing-button').each(function(key2, value2){ if(jQuery(this).parent().hasClass('supsystic-social-sharing-popup')) return; var networks=jQuery(this).attr('data-networks'); networks=jQuery.parseJSON(networks); var attachId=jQuery('.supsystic-social-sharing').eq(key).closest('[data-attachment-id]').attr('data-attachment-id'); if(typeof attachId!='undefined'){ var nid=jQuery(this).attr('data-nid'); var counter=networks[attachId][nid]; if(parseInt(counter)&&!isNaN(counter)){ summary=summary + parseInt(counter); } var counterWrapper=''; if(jQuery(this).hasClass('counter-standard')){ jQuery(this).find('.counter-wrap.standard').remove(''); counterWrapper='
      '+counter+'
      '; } if(jQuery(this).hasClass('counter-arrowed')){ jQuery(this).find('.counter-wrap.arrowed').remove(''); counterWrapper='
      '+counter+'
      '; } if(jQuery(this).hasClass('counter-white-arrowed')){ jQuery(this).find('.counter-wrap.white-arrowed').remove(''); counterWrapper='
      '+counter+'
      '; } var attachId=jQuery(this).append(counterWrapper); }}); summary='Shares '+summary+''; jQuery(this).closest('a').find('.supsystic-social-sharing-total-counter.counter-wrap').html(summary); }); }, 1000); }); }(jQuery)); (function ($){ function ProGallery(){ this.topLvlItemSelector=null; this.scrollInProgress=false; } ProGallery.prototype._parent=function(func, arguments){ return typeof(this.constructor.prototype[func])!='undefined' ? this.constructor.prototype[func].call(this, arguments):false; }; ProGallery.prototype._afterInit=function($callback){ $(document).on("GalleryAfterInit", function(event, Gallery){ $callback.call(Gallery); }); }; ProGallery.prototype._beforeInit=function($callback){ $(document).on("GalleryBeforeInit", function(event, Gallery){ $callback.call(Gallery); }); }; ProGallery.prototype.init=function(){ var self=this; this._parent('init'); this._beforeInit(function(){ this.initInfiniteScroll(); this.initColorBoxOnLoadHandler(); }); this._afterInit(function(){ this.initVideoPopup(); this.initLinkedImages(); this.initDisableRightClick(); self.selectCategoryByUrlHash(self); if(!this.afterInitFlag){ this.initMosaicGalleryType(); this.setCaptionOnHoverImage(); this.afterInitFlag=true; this.initPopupFunc(); } this.initFilterByAttributes(); this.initSearchByKeywords(); this.initDownloadButtons(); }); $(window).on('hashchange', function(event){ self.selectCategoryByUrlHash(self); }); $(document).on('beforeResizeColorBoxResponsive', function(event){ if(typeof self.currentVideoPlayer=='object'){ if(typeof self.currentVideoPlayer.getCurrentTime=='function'){ self.savedColorBoxVideoStartTime=self.currentVideoPlayer.getCurrentTime(); }} }); if(this.$container.data('caption-builder-icons')=='1'||(this.$container.data('caption-buider')!=1&&this.$container.data('icons')==true)){ this.topLvlItemSelector='.grid-gallery-caption '; }else{ this.topLvlItemSelector='.gg-link'; }}; ProGallery.prototype.reinit=(function(){ this.setIconsPosition(); this.setOverlayTransparency(); this.setImageOverlay(); this.setMouseShadow(); this.initRowsMode(); this.preventImages(); this.initPopup(); this.initVideoPopup(); this.initCaptionCalculations(); this.initCaptionEffects(); this.showCaption(); this.hidePopupCaptions(); this.correctMargin(); this.initHorizontalMode(); this.initWookmark(); this.$container.trigger('wookmark.changed'); if(this.socialSharing&&this.socialSharing.enabled){ this.initImageSocialSharing(); } this.initMosaicGalleryType(); }); ProGallery.prototype.loadButtonsFontFamily=function (font, callback){ callback=callback||function(){}; if(font&&font!=='Default'){ this._parent('importFontFamily', font); }} ProGallery.prototype.shadeColor=function(color, percent){ var f=parseInt(color.slice(1), 16), t=percent < 0 ? 0:255, p=percent < 0 ? percent * -1:percent, R=f >> 16, G=f >> 8 & 0x00FF, B=f & 0x0000FF; return "#" + (0x1000000 + (Math.round((t - R) * p) + R) * 0x10000 + (Math.round((t - G) * p) + G) * 0x100 + (Math.round((t - B) * p) + B)).toString(16).slice(1); } ProGallery.prototype.initButtonStyles=function($buttons, font, fontCallback, single){ var self=this , $paginationPrev=null , $paginationNext=null; this.loadButtonsFontFamily(font, fontCallback); if(self.$container.data('use-pagination-prev-next')==1){ $paginationPrev=$('.grid-gallery-page.gg-prev-pagination-btn'); $paginationNext=$('.grid-gallery-page.gg-next-pagination-btn'); } var background=(function ($button){ var initial=$button.css('background-color') , hasBackground=true; if(initial=='rgba(0, 0, 0, 0)'||initial=='transparent'||initial=='rgb(255, 255, 255)'){ hasBackground=false; initial=$button.css('color'); } if(typeof initial==='undefined'){ initial='#6f6f6f'; } if(! initial.match(/^#?(?:[0-9a-f]{3}){1,2}$/)){ initial='#' + self.rgb2hex(initial); } var shaded=self.shadeColor(initial, 0.5); return { initial: initial, shaded: shaded, hasBackground: hasBackground };})($buttons.first()); (function(background){ var attribute='background-color'; if(!background.hasBackground){ attribute='color'; } if(typeof single==="undefined"){ $buttons.not('.active').hover(function(){ $(this).css(attribute, background.initial); }, function(){ $(this).not('.active').css(attribute, background.shaded); } ); $buttons.on('click', function(event){ event.preventDefault(); var multiselect=($buttons.closest('nav').data('multiselect')=='1'), isActiveButton=false; if(multiselect){ var curentTag=String($(event.currentTarget).data('tag')), $active=$buttons.filter('.active[data-tag="' + curentTag + '"]'); if($active&&$active.length){ $active.removeClass('active'); isActiveButton=true; } if(curentTag=='__all__'){ $buttons.removeClass('active'); }else{ $buttons.filter('.active[data-tag="__all__"]').removeClass('active'); } $buttons.not('.active').css(attribute, background.shaded); }else{ $buttons.css(attribute, background.shaded).removeClass('active'); } if(self.$container.data('use-pagination-prev-next')==1&&$paginationPrev.length&&$paginationNext.length){ var currBtn=$(event.currentTarget) , currPage=parseInt(currBtn.attr('data-page'), 10) , maxPrev=parseInt($paginationPrev.attr('data-pagemax'), 10) , maxNext=parseInt($paginationNext.attr('data-pagemax'), 10); var $toSelectBtn=self.pagination.$wrapper.find('a.grid-gallery-page:not(.gg-prev-pagination-btn):not(.gg-next-pagination-btn)[data-page="' + currPage+ '"]'); if($toSelectBtn.length){ $toSelectBtn .css(attribute, background.initial) .addClass('active'); if(!isNaN(currPage)&&!isNaN(maxPrev)&&!isNaN(maxNext)){ if(currPage > 1){ if(maxPrev >=currPage){ $paginationPrev.attr('data-page', currPage - 1); }else{ $paginationPrev.attr('data-page', maxPrev); } if((maxNext - 1) > currPage){ $paginationNext.attr('data-page', currPage + 1); }else{ $paginationNext.attr('data-page', maxNext); }}else{ $paginationPrev.attr('data-page', 1); $paginationNext.attr('data-page', 2); }} } $('.grid-gallery-pagination-wrap').attr('data-page', currPage); }else{ var $newActiveButton=$(event.currentTarget); if(isActiveButton){ $newActiveButton=null; if($buttons.filter('.active').length==0){ $newActiveButton=$buttons.eq(0); }} if($newActiveButton){ $newActiveButton.css(attribute, background.initial).addClass('active'); }} }); }else{ $buttons.css(attribute, background.shaded); $buttons.hover(function(){ $(this).css(attribute, background.initial); }, function(){ $(this).css(attribute, background.shaded); } ); }})(background); } ProGallery.prototype.initFilterByAttributes=(function (){ if(this.$container.attr('data-show-filter')!=1) return; var $filterContainer=this.$container.find('.grid-gallery-filter'), $namesContainer=$filterContainer.find('.gg-filter-attributes-names'), $valuesContainer=$filterContainer.find('.gg-filter-attributes-values'), $filterClear=$filterContainer.find('.gg-filter-attributes-clear'), gallery=this, attrValues; if($filterContainer.data('custom-buttons')){ this.loadButtonsFontFamily($filterContainer.data('font'), null); } try { attrValues=JSON.parse($valuesContainer.attr('data-values')); } catch(err){ } if(!$.isArray(attrValues)){ attrValues=[]; } $namesContainer.on('change', function (event){ var $selected=$(this).find('option:selected'); $valuesContainer.empty(), display='none'; if($selected.length > 0&&$selected.val()!='0'){ var attrName=$selected.text(); for(var i=0; i < attrValues.length; i++){ if('name' in attrValues[i]&&attrValues[i]['name']==attrName){ if('values' in attrValues[i]&&$.isArray(attrValues[i]['values'])){ $.each(attrValues[i]['values'], function(index, value){ $valuesContainer.append($('')); }); } break; }} display='block'; } $filterClear.css('display', display); $valuesContainer.css('display', display).trigger('change'); }); $valuesContainer.on('change', function (event){ gallery.doFilterAndSearch(); }); $filterClear.on('click', function(){ $namesContainer.find('option[value="0"]').prop('selected', true); $namesContainer.trigger('change'); }); $filterContainer.css('display', 'block'); $filterContainer.find('select').height($filterClear.height()); $filterClear.css('display', 'none'); }); ProGallery.prototype.doFilterAndSearch=(function (){ var $container=this.$container, $filterContainer=$container.find('.grid-gallery-filter'), $searchContainer=this.$container.find('.grid-gallery-search'), $elements=$container.find('.gg-link').removeClass('hidden-item'); if($filterContainer.length){ var $selectedName=$filterContainer.find('.gg-filter-attributes-names').find('option:selected'); if($selectedName.length > 0&&$selectedName.val()!=''){ var attrName=$selectedName.text(), attrValue=$filterContainer.find('.gg-filter-attributes-values').find('option:selected').text(); if(attrValue.length > 0){ $elements.each(function(){ var found=false, attributes; try { attributes=JSON.parse($($(this)).attr('data-attributes')); } catch(err){ } if(!$.isArray(attributes)){ attributes=[]; } for(var i=0; i < attributes.length; i++){ if('name' in attributes[i]&&attributes[i]['name']==attrName){ if('value' in attributes[i]&&attributes[i]['value']==attrValue){ found=true; break; };}} if(!found){ $(this).addClass('hidden-item'); }}); }} } if($searchContainer.length){ var search=$searchContainer.find('input.gg-search-keywords').val(); if(search.length > 0){ $elements.not('[data-keywords *="' + search.toLowerCase() + '"]').addClass('hidden-item'); }} if($container.find('a.grid-gallery-page').length > 0){ this.initPagination(false); }else{ this.initWookmark(); if(this.afterInitFlag){ this.correctMargin(); this.initPopup(); this.initVideoPopup(); }} }); ProGallery.prototype.initSearchByKeywords=(function (){ if(this.$container.attr('data-show-search')!=1) return; var $searchContainer=this.$container.find('.grid-gallery-search'), $searchButton=$searchContainer.find('a.gg-search-btn'), gallery=this; if($searchContainer.data('custom-buttons')){ this.loadButtonsFontFamily($searchContainer.data('font'), null); } $searchButton.on('click', function(e){ e.preventDefault(); gallery.doFilterAndSearch(); }); $searchContainer.css('display', 'block'); $searchContainer.find('input').height($searchButton.height()); }); ProGallery.prototype.initDownloadButtons=(function (){ var container=this.$container; if(this.$container.attr('data-popup-enable-download-photos-button')==1){ var popupType=this.$container.data('popup-type'), $downloadBtn=$('
      ').addClass('popup-download-photos-button'), $downloadBtnTxt=this.$container.attr('data-popup-enable-download-photos-button-text'), self=this, galleryId=container.attr('data-gg-id'); $downloadBtn.attr({ 'title': $downloadBtnTxt, 'download': '', }).text($downloadBtnTxt); switch(popupType){ case 'photobox': case 'pretty-photo': self.initVideoPopup($downloadBtn); break; case 'colorbox': $(document).bind('cbox_complete', function(){ var $element=$.colorbox.element(); $('#cboxContent').find('.popup-download-photos-button').remove(); var interval=setInterval(function(){ if(!$element.is('[data-video-source]')){ clearInterval(interval); $downloadBtn.attr({ 'href': $('#cboxContent').find('.cboxPhoto').attr('src') }); $('#cboxContent').append($downloadBtn); }}, 500); }); break; default: break; }} var sizes=container.attr('data-popup-download-sizes'); if(typeof sizes!='undefined'&&sizes!==false){ var galleryId=container.attr('data-gg-id'), downloadSize='full', oneSize=true; if(sizes.length){ var menuElems=sizes.split('|'); if(menuElems.length==1){ downloadSize=menuElems[0]; }else{ var menuContent='
      '; menuElems.push('cancel'); menuElems.forEach(function(s){ var name=container.attr('data-popup-download-'+s); menuContent +=''+(typeof name=='undefined' ? s:name)+''; }); oneSize=false; }} $(document).on('click','.gg-download-button',function(){ if(oneSize){ var url=SupsysticGalleryHelpers.ajax_url+'?action='+SupsysticGalleryHelpers.action_download+'&id='+galleryId+'&size='+downloadSize, attachment=$(this).attr('data-attachment-id'); if(attachment){ url +='&attachment='+attachment; window.open(url,'_self'); }}else{ var figcaption=$(this).closest('figcaption'); if(figcaption.find('.gg-download-sizes').length){ figcaption.find('.gg-download-sizes').show(); }else{ figcaption.append(menuContent); }} return false; }); if(!oneSize){ $(document).on('click','.gg-download-size',function(){ var size=$(this).attr('data-size'); if(size!='cancel'){ var url=SupsysticGalleryHelpers.ajax_url+'?action='+SupsysticGalleryHelpers.action_download+'&id='+galleryId+'&size='+size, button=$(this).closest('figcaption').find('.gg-download-button'); if(button.length==0) return false; var attachment=button.attr('data-attachment-id'); if(attachment){ url +='&attachment='+attachment; window.open(url,'_self'); }} $(this).parent().hide(); return false; }); }} }); ProGallery.prototype.setPrettyPhotoDownloadBtn=(function ($downloadBtn){ $('.pp_content_container').find('.popup-download-photos-button').remove(); var interval=setInterval(function(){ if(typeof $('.pp_content_container')!=='undefined'){ clearInterval(interval); $downloadBtn.attr({ 'href': $('#fullResImage').attr('src') }).css({ 'bottom': '3px', 'position': 'relative' }); $('.pp_content_container').append($downloadBtn); }}, 500); }); ProGallery.prototype.setPhotoboxDownloadBtn=(function ($downloadBtn){ $('.pbWrapper').find('.popup-download-photos-button').remove(); var interval=setInterval(function(){ if(typeof $('.pbWrapper')!=='undefined'){ clearInterval(interval); $downloadBtn.attr({ 'href': $('.pbWrapper').find('img').attr('src') }).css({ 'bottom': '75px' }); $('.pbWrapper').append($downloadBtn); }}, 500); }); ProGallery.prototype.initCategoriesButtons=(function (){ var $navigation=this.$navigation, $elements=$navigation.find('a'), $defaultBackground=$elements.first().css('background-color'), $background; if(this.$navigation.data('custom-buttons')){ this.initButtonStyles($elements, $navigation.data('font'), function(){ $navigation.css({ opacity: '1', transition: 'all 0.5s ease-out' }); }) }else{ $background=this.shadeColor('#' + this.rgb2hex($elements.first().css('borderTopColor')), 0.3); this.$navigation.find('a').on('click', function(event){ event.preventDefault(); $elements.css('background-color', $defaultBackground); $(event.currentTarget).css('background-color', $background); }); }}); ProGallery.prototype.initCategories=(function (){ this.initCategoriesButtons(); this.$navigation.find('a').on('click', $.proxy(function (event){ event.preventDefault(); var $category=$(event.currentTarget).parent().find('a.active'), requested=[], _defaultTag='__all__', self=this, currentGallery=this.$navigation.parent().attr('id'); $category.each(function(){ requested.push(String($(this).data('tag'))); }); var aTagClick=false; if(this.$navigation.parent().data('show-more-enabled')){ aTagClick=true; self.showMore(aTagClick); } if(requested.length==1&&requested[0]==_defaultTag){ this.$elements.each(function (){ var $parent=$(this).parent(); if($parent.attr('data-rel')){ $parent.attr('data-rel', 'prettyPhoto['+currentGallery+']'); }else if((self.$container.data('captionBuider')==1&&self.$container.data('caption-builder-icons')==1) || (self.$container.data('captionBuider')!=1&&self.$container.data('icons')!=false) ){ var $aLink=$(this).find('a'); if($aLink.attr('data-rel')){ $aLink.attr('data-rel', 'prettyPhoto[' + currentGallery + ']'); }} if($parent.hasClass('pbox')||$parent.hasClass('gg-colorbox')){ $parent.fadeIn(); }}); this.$elements.fadeIn(); self.initWookmark(); $.when(this.$elements.fadeIn()) .done(function(){ self.correctMargin(); self.initPopup(); self.initVideoPopup(); self.initLinkedImages(); if(!self.isFluidHeight()&&self.$qsEnable){ self.callQuicksand (self.$qsHolder, self.$qsData, self.$qsDuration); } self.initMosaicGalleryType(); }); return false; } if(!this.isFluidHeight()&&this.$qsEnable){ var $filteredData=this.$qsData.filter(function (){ var tags=$(this).children().data('tags'); if(typeof tags!=='undefined'){ tags=tags.toString().split('|'); } for(var i=0; i < requested.length; i++){ if($.inArray(requested[i], tags) > -1) return true; }; self.initMosaicGalleryType(); return false; }); this.callQuicksand (this.$qsHolder, $filteredData, this.$qsDuration); }else{ var activeTags=requested.join(','), resultType=this.$navigation.data('multiselect-results'); $hidden=$(); $visible=$(); this.$elements.each(function (){ var $element=$(this), tags=$element.data('tags'), $parent=$element.parent(); if(typeof tags!='string'){ tags=String(tags); } if(tags!=undefined){ tags=tags.toString().split('|'); } var foundTag=null, i; switch(resultType){ case 'all_selected': for(i=0; i < requested.length; i++){ var categorySorted=requested; if(!arraysEqual(categorySorted.sort(), tags.sort())){ foundTag=false; break; }else{ foundTag=true; }} break; default: for(i=0; i < tags.length; i++){ if($.inArray(tags[i], requested) > -1){ foundTag=tags[i]; break; }} break; } if(foundTag){ if($parent.attr('data-rel')){ $parent.attr('data-rel', 'prettyPhoto['+currentGallery+'-'+activeTags+']'); }else if((self.$container.data('captionBuider')==1&&self.$container.data('caption-builder-icons')==1) || (self.$container.data('captionBuider')!=1&&self.$container.data('icons')!=false) ){ var $aLink=$(this).find('a'); if($aLink.attr('data-rel')){ $aLink.attr('data-rel', 'prettyPhoto['+currentGallery+'-'+activeTags+']'); }} if($parent.hasClass('pbox')||$parent.hasClass('gg-colorbox')){ $visible.push($parent[0]); }else{ $visible.push(this); }}else{ if($parent.hasClass('pbox')||$parent.hasClass('gg-colorbox')){ $hidden.push($parent[0]); }else{ $hidden.push(this); }} }); $.when($hidden.fadeOut()).done(function(){ $visible.fadeIn().css({'height':''}); if(self.$container.data('gridType')==1){ $visible.closest('a.gg-link[data-type="link"]').css('display', 'inline-block'); $hidden.closest('a.gg-link[data-type="link"]').css('display', 'none'); } self.correctMargin(); self.initWookmark(); self.initPopup(); self.initVideoPopup(); self.initLinkedImages(); self.lazyLoadTriggerHandler(); self.initMosaicGalleryType(); $visible.find('figure').css({'height':''}); }); } setTimeout(function(){ jQuery(window).trigger('resize'); }, 1000); }, this)); if(!window.location.hash){ this.selectFirstCategory(); }}); ProGallery.prototype.initPaginationButtons=(function (){ var $navigation=this.pagination.$wrapper; var $elements=$navigation.find('a.grid-gallery-page'); if(this.pagination.$wrapper.data('custom-buttons')){ this.initButtonStyles($elements, this.pagination.$wrapper.data('font'), function(){ $navigation.css({ opacity: '1', transition: 'all 0.5s ease-out' }); }) }else{ this.pagination.$wrapper.find('a.grid-gallery-page').on('click', function(event){ event.preventDefault(); $elements.css('font-size','inherit'); $(this).css('font-size','19pt'); }); }}); ProGallery.prototype.initPagination=(function (all){ var all=(typeof(all)=='undefined') ? true:all; if(all){ this.initPaginationButtons(); } this.buffer=[]; var perPage=parseInt(this.$container.find('.grid-gallery-photos').data('per-page'), 10), buffer=this.buffer, page=1, offset=0, $elements=this.$elements, self=this; if(isNaN(perPage)){ this.$elements.fadeIn(); return false; } if(this.$container.data('gridType')==4&&this.$container.data('show-mosaic-all-img')!=1){ this.$elements.fadeIn(); this.pagination.wrapper.hide(); return false; } var showCurrentPage=(function (page){ $.when($elements.removeClass('current-page').hide().parent('a').hide()).done(function(){ $(buffer[page]).addClass('current-page').css({height:self.$container.data('height'),width:self.$container.data('width')}).fadeIn().parent('a').show(); self.initWookmark(); if(self.afterInitFlag){ self.correctMargin(); self.initPopup(); self.initVideoPopup(); } self.initMosaicGalleryType(); }); }); this.pagination.limit=perPage; var viewIndex=0; $elements.each($.proxy(function (index, el){ if(all||$(el).closest('a.gg-link').hasClass('hidden-item')==false){ if(all){ var currentIndex=index + 1; }else{ viewIndex++; var currentIndex=viewIndex; } if((currentIndex - offset) <=this.pagination.limit){ if(!$.isArray(buffer[page])){ buffer[page]=[]; } buffer[page].push(el); }else{ offset +=this.pagination.limit; page +=1; buffer[page]=[el]; }} }, this)).hide(); if(!all){ $buttons=this.pagination.$wrapper; $buttons.find('a.grid-gallery-page:not(.gg-prev-pagination-btn, .gg-next-pagination-btn)').css('display', 'none'); $.each(buffer, function(page, els){ $buttons.find('a.grid-gallery-page[data-page="' + page + '"]').css('display', 'inline-block'); }); } this.pagination.$wrapper.find('a.grid-gallery-page').off('click.pagination').on('click.pagination', function(event){ event.preventDefault(); if(self.$container.data('use-pagination-prev-next')==1&&$('.grid-gallery-page.gg-prev-pagination-btn').length&&$('.grid-gallery-page.gg-next-pagination-btn').length){ showCurrentPage($('.grid-gallery-pagination-wrap').attr('data-page')); }else{ showCurrentPage($(event.currentTarget).attr('data-page')); }}); this.pagination.$wrapper.find('a.grid-gallery-page:not(.gg-prev-pagination-btn)').first().trigger('click'); setTimeout(function(){ self.initWookmark(); },500); }); ProGallery.prototype.initInfiniteScroll=function(){ if(!this.$container.is('[data-show-more-amount]')||this.InfinityScrollIsInitialized){ return; } if(this.$container.data('gridType')==4&&this.$container.attr('data-useMosaic2Layout')!=1){ return; } this.InfinityScrollIsInitialized=true; var self=this, $showMoreButton=this.$container.find('.showMore'); this.initButtonStyles($showMoreButton, $showMoreButton.data('font'), null, true); if(self.$elements.length < $showMoreButton.data('total')||!$showMoreButton.data('total')){ $showMoreButton.show(); } $showMoreButton.after($(''+self.loadingText+'').css('display', 'none')); $showMoreButton.on('click', function(event){ event.preventDefault(); self.showMore(); }); function onScrollHandler(){ var scroll=true; self.showMore(false, scroll); } if(this.$container.data('show-more-scroll')){ $(window).on('scroll', onScrollHandler); }}; ProGallery.prototype.showMore=function(aTagClick, scroll){ aTagClick=(typeof aTagClick=='undefined' ? false:aTagClick); scroll=(typeof scroll=='undefined' ? false:scroll); var $lastGalleryCaption=$('.grid-gallery-caption:last'); var breakpoint=($lastGalleryCaption.length ? $lastGalleryCaption.offset().top:0); if(scroll){ if(this.scrollInProgress){ return; } if(!(window.pageYOffset + window.innerHeight > breakpoint - (window.innerHeight * 2))){ return; }} var categories=$('.grid-gallery-nav a'), pickedOutCategories=[], activeCategory=[], self=this, isLazyLoad=this.$container.data('lazyload-enable')=='1', $showMoreButton=this.$container.find('.showMore'), $photoWrapper=this.$container.find('.grid-gallery-photos'); $.each(categories, function(index, item){ if($(item).hasClass('active')){ activeCategory.push($(item).data('tag')); }}); var limit=aTagClick ? this.$container.data('show-more-img-first-load'):this.$container.data('show-more-amount'); if(aTagClick){ $photoWrapper.find('*').not('.grid-gallery-clearfix').remove(); } var request={ action: SupsysticGalleryHelpers.action, gallery_id: this.$container.data('id'), limit: limit, except: '', category: '', posts_except: '', offset: 0 }; function showMore(){ var except=[], except_posts=[]; self.scrollInProgress=true; request.category=''; if(activeCategory.length){ request.category=activeCategory.join(','); } if(!aTagClick){ $.each(self.$elements, function(index, element){ if(typeof($(element).data('id'))!=='undefined'&&$(element).is(':visible')){ except.push($(element).data('id')); } if(typeof($(element).data('post-id'))!=='undefined'&&$(element).is(':visible')){ except_posts.push($(element).data('post-id')); }}); request.except=except.join(','); request.except_posts=except_posts.join(','); request.offset++; } updateImages(request, function(response){ if(response.success){ $showMoreButton.next('.showMoreLoading').hide(); var $elements=$($.parseHTML(response.images.trim())); if(!aTagClick){ self.$container.find('.grid-gallery-photos > *') .not('.grid-gallery-clearfix') .last() .after($elements); }else{ self.$container.find('.grid-gallery-photos').prepend($elements); } self.$container.imagesLoaded(function (){ $.merge(self.$elements, $elements.find('figure.grid-gallery-caption').addBack().not($('.post, .gg-link')).fadeIn()); if($elements.length < request.limit&&response.remaining===0 || (response.remaining===0&&response.remaining_posts==0)){ $showMoreButton.hide(); if(request.category){ pickedOutCategories.push(request.category); }else{ $.each(categories, function(index, item){ pickedOutCategories.push($(item).data('tag')); }); console.log('off scroll'); }}else{ if(!aTagClick){ self.$container.one('wookmark.changed', function(event){ breakpoint=self.$elements.filter(':visible').last().offset().top; }); } $showMoreButton.show(); self.scrollInProgress=false; } self.reinit(); if(isLazyLoad){ self._parent('initLazyLoad'); self._parent('lazyLoadDistanceRefresh'); } self.initPopup(); }); }}); } function updateImages(request, response){ $showMoreButton.add($showMoreButton.next('.showMoreLoading')).toggle(); $.post(SupsysticGalleryHelpers.ajax_url, request, response); } showMore(); }; ProGallery.prototype.initVideoPopup=function(download){ if(!this.$container.find('[data-video-source]').length&&typeof download==='undefined'){ return; } function loadApi(src){ var tag=document.createElement('script'); tag.src=src; var firstScriptTag=document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); } function createYouTubePlayer(options){ player=new YT.Player(options.node, { startFrom: options.start||0, width: options.width||'853', height: options.height||'480', videoId: options.videoId, playerVars: options.params, events: { onReady: options.onReady||function(event){ if(popupSettings.autoplay==='true'){ event.target.playVideo(); }}, onStateChange: options.onStateChange }}); return player; } function createHTML5Player(src, $playerBox, endfunc, frame){ var $player=$(document.createElement('video')), $source=$(document.createElement('source')), videoWidth=Number(popupSettings.width||'853'), videoHeight=Number(popupSettings.height||'480'), onEndAction=Number(popupSettings.onEnd||0); $source.attr('src', src); $player.attr('controls', 'controls'); $player.attr('width', videoWidth); if(window.innerWidth > videoWidth){ $player.attr('height', videoHeight); $player.css("margin-bottom", "0px"); } if(popupSettings.autoplay=='true'){ $player.attr('autoplay', 'autoplay'); } $player.append($source); if(frame&&frame!=null){ $playerBox.contents().find('body').html($player); }else{ $playerBox.html($player); } $player.on('click', function(){ if(this.paused){ this.play(); }else{ this.pause(); }}); $player.on('ended', endfunc); return $player; } if($('[data-video-source="youtube"]').length > 0){ loadApi('//www.youtube.com/iframe_api'); } if($('[data-video-source="vimeo"]').length > 0){ loadApi('https://player.vimeo.com/api/player.js'); } var $videoIframe, isVideo, videoSource, videoId, popupType=this.$container.data('popup-type'), popupRel=this.$container.attr('id'), popupSettings=this.$container.data('popup-video')||{}, videoWidth=Number(popupSettings.width||'853'), videoHeight=Number(popupSettings.height||'480'), onEndAction=Number(popupSettings.onEnd||0), youTubeRegExp=/.*(?:youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/, slidePlay=this.$container.data('popup-slideshow')===true, slidePlayAuto=slidePlay&&this.$container.data('popup-slideshow-auto')===true, popupHoverStop=slidePlay&&this.$container.data('popup-hoverstop')===true, isLazyLoad=this.$container.data('lazyload-enable')=='1', self=this; if(popupType=='colorbox'){ $('').appendTo('head'); function colorBoxVideoEnd(){ if(onEndAction > 0){ if(onEndAction===1){ $.colorbox.next(); }else if(onEndAction===2){ $.colorbox.close(); }} } if(videoWidth > window.innerWidth){ videoWidth="90%"; } this.$colorbox=this.$container.find('.gg-video:visible').colorbox({ iframe: true, fadeOut: this.$container.data('popup-fadeOut'), fixed: true, scrolling: false, scalePhotos: true, innerWidth: videoWidth, innerHeight: videoHeight, maxWidth: "90%", returnFocus: false, slideshow: this.$container.data('popup-slideshow'), slideshowAuto: this.$container.data('popup-slideshow-auto'), slideshowSpeed: this.$container.data('popup-slideshow-speed'), rel: popupRel, slideshowStart: self.popupTranslates.start_slideshow, slideshowStop: self.popupTranslates.stop_slideshow, current: self.popupTranslates.image + " {current} " + self.popupTranslates.of + " {total}", previous: self.popupTranslates.previous, next: self.popupTranslates.next, close: self.popupTranslates.close, title: function(){ return self.getPopupTitle($(this)); }, onLoad: function(){ videoSource=$(this).data('video-source'); $('#cboxContent').find('.popup-download-photos-button').remove(); }, onComplete: function(e){ self.changePopUpHash($(e.el).attr('id')||$(e.el).attr('data-id')); self.addSocialShareToPopUp($(e.el),$('#cboxContent'),'popup'); $('#cboxLoadedContent').css('opacity', 0); $('#cboxLoadingGraphic').show(); $videoFrame=$('#cboxLoadedContent iframe'); $videoFrameWrapper=$videoFrame.parent(); if(videoSource=='youtube'){ if($videoFrameWrapper.attr('data-iframe')==='original_frame'){ var width=$videoFrame.parent().width(), height=Math.round((width/16)*9); $videoFrame.css({'width': width, 'height': height}); $('#cboxLoadingGraphic').hide(); $('#cboxLoadedContent').css({ 'opacity': 1, 'overflow': 'hidden', 'transition': 'all 0.4s' }); }else{ $videoFrame.stop(); $('
      ', {id: 'sgg-youtube-player'}).insertBefore($videoFrame); var width=$videoFrame.parent().width() - 4, height=Math.round((width/16)*9); var startWith=typeof self.savedColorBoxVideoStartTime!='undefined' ? self.savedColorBoxVideoStartTime:0; self.currentVideoPlayer=createYouTubePlayer({ startFrom: startWith, node: 'sgg-youtube-player', videoId: $(this).attr('href').match(youTubeRegExp) ? $(this).attr('href').match(youTubeRegExp)[1]:'', params: ($(this).attr('href').match(/[\?&]rel=0/i) ? {rel: 0}:{}), onReady: function(event){ $('#cboxLoadingGraphic').hide(); $('#cboxLoadedContent').css({ 'opacity': 1, 'overflow': 'hidden', 'transition': 'all 0.4s' }); if(popupSettings.autoplay==='true'||startWith){ if(startWith){ event.target.seekTo(startWith); } event.target.playVideo(); }}, width: width, height: height, onStateChange: function(event){ if(event.data===0){ colorBoxVideoEnd(); } if(event.data===1){ $('.pp_nav a.pp_play').addClass('stop'); $('.pp_nav a.pp_pause').addClass('stop'); }else{ $('.pp_nav a.pp_play').removeClass('stop'); $('.pp_nav a.pp_pause').removeClass('stop'); }} }); $videoFrame.remove(); }} if(videoSource=='vimeo'){ var player=new Vimeo.Player($videoFrame[0]);//$f($videoFrame[0]); self.currentVideoPlayer=player; player.ready().then(function(){ $('#cboxLoadingGraphic').hide(); $('#cboxLoadedContent').css({ 'opacity': 1, 'overflow': 'hidden', 'transition': 'all 0.4s' }); if(popupSettings.autoplay==='true'){ player.play().catch(function(error){ console.error('error playing the video:', error.name); }); } player.on('ended', colorBoxVideoEnd); }); } if(videoSource=='other'){ createHTML5Player($('#cboxLoadedContent iframe').attr('src'), $('#cboxLoadedContent'), colorBoxVideoEnd); $('#cboxLoadingGraphic').hide(); $('#cboxLoadedContent').css({ 'opacity': 1, 'overflow': 'hidden', 'transition': 'all 0.4s' }); } var width=$videoFrame.parent().width(), height=Math.round((width/16)*9); if($videoFrameWrapper.attr('data-iframe')!=='original_frame'){ $.colorbox.resize({width:width , height: height}); }}, onClosed: function(){ self.clearPopUpHash(); }}); $('#cboxOverlay').removeClass().addClass(self.$container.data('popup-theme')+'-overlay'); $('#colorbox').removeClass().addClass(self.$container.data('popup-theme')); } if(popupType=='pretty-photo'){ function prettyPhotoVideoEnd(){ if(onEndAction > 0&&self.$prettyPhoto){ if(onEndAction===1){ self.$prettyPhoto.changePage('next'); }else if(onEndAction===2){ self.$prettyPhoto.close(); }} } if(this.$container.attr('data-show-buttonlink-in-popup')==1){ this.loadButtonsFontFamily(this.$container.attr('data-buttonlink-font'), null); } var findPrettyItems=typeof download!=='undefined' ? this.$container.find(".grid-gallery-photos > a[data-rel^='prettyPhoto'], .grid-gallery-photos .hi-icon-wrap > a[data-rel^='prettyPhoto'], .grid-gallery-photos .gg-mosaic-wrapper a[data-rel^='prettyPhoto']") : this.$container.find(".grid-gallery-photos > a[data-rel^='prettyPhoto'], .grid-gallery-photos .hi-icon-wrap > a[data-rel^='prettyPhoto']"); this.$prettyPhoto=findPrettyItems .ggPrettyPhoto({ hook: 'data-rel', theme: 'light_square', default_width: this.popupMaxWidth, default_height: this.popupMaxHeight, default_movie_width: popupSettings.width||'853', default_movie_height: popupSettings.height||'480', allow_resize: true, allow_expand: false, slideshow: this.$container.data('popup-slideshow-speed'), autoplay_slideshow: this.$container.data('popup-slideshowAuto'), social_tools: '', deeplinking: false, 'is_lazy_load': isLazyLoad, 'ppTranslates': self.popupTranslates, 'isDisableRightClick': this.$container.attr('data-disable-right-click')=='true', 'isShowRotateBtn': this.$container.attr('data-show-rotate-btn-in-popup')==1, 'isShowAttributes': this.$container.attr('data-show-attributes-in-popup')==1, 'attributesPosition': this.$container.attr('data-attributes-position'), 'attributesWidth': this.$container.attr('data-attributes-width'), 'isShowButtonLink': this.$container.attr('data-show-buttonlink-in-popup')==1, 'buttonLinkStyle': this.$container.attr('data-buttonlink-style'), 'isShowLinkBtn': this.$container.attr('data-show-link-btn-in-popup')==1, 'isShowHovThumbnail': this.$container.attr('data-show-thumb-hov-in-popup')==1, 'galleryId': this.$container.attr('data-gg-id'), getImageDimensions:this.popupImageDimension, 'setImageTitleForPrepare': function($element){ var imgTile=self.getPopupTitle($element); return imgTile; }, changepicturecallback: function(element){ self.changePopUpHash(element.attr('id')||(element).attr('data-id')); self.popup_opened_image=element; $('.pp_description').html(self.getPopupTitle(element)).show(); isVideo=$(element).is('[data-video-source]'); if(isVideo){ $('.pp_content_container').find('.popup-download-photos-button').remove(); self.addSocialShareToPopUp(element,$('#pp_full_res'),'popup prettyPhoto'); $(".pp_gallery").hide(); }else{ self.addSocialShareToPopUp(element,$('.pp_hoverContainer'),'popup'); $(".pp_gallery").show(); } if(self.$container.attr('data-show-attributes-in-popup')==1){ window.prettyPhotoAttributes(element, self.$container); } if(popupHoverStop){ $('.pp_fade').hover(function(){ $('.pp_nav .pp_pause').click(); },function(){ if(slidePlayAuto){ $('.pp_nav .pp_play').click(); }}) } videoSource=$(element).data('video-source'); $videoFrame=$('#pp_full_res iframe'); if(!slidePlay){ $('.pp_play').hide(); } if(videoSource=='youtube'){ var frameHtml=htmlDecode($(element).attr('href')); if(frameHtml.match(//i)){ var frameWrapper=$('#pp_full_res'); frameWrapper.html(frameHtml); frameWrapper.$videoFrame.attr('width'); frameWrapper.$videoFrame.attr('height'); }else{ $videoFrame.stop(); var videoSrc=$videoFrame.attr('src'); videoId=videoSrc.match(youTubeRegExp)[1]; var $newFrame=$('
      ', {id: 'sgg-youtube-player'}) .insertBefore($videoFrame); createYouTubePlayer({ node: 'sgg-youtube-player', videoId: videoId, width: $videoFrame.attr('width'), height: $videoFrame.attr('height'), params: (videoSrc.match(/[\?&]rel=0/i) ? {rel: 0}:{}), onStateChange: function(event){ if(event.data===0){ prettyPhotoVideoEnd(); } if(event.data===1){ $('.pp_nav a.pp_play').addClass('stop'); $('.pp_nav a.pp_pause').addClass('stop'); }else{ $('.pp_nav a.pp_play').removeClass('stop'); $('.pp_nav a.pp_pause').removeClass('stop'); }} }); $videoFrame.remove(); }} if(videoSource=='vimeo'){ var player=new Vimeo.Player($videoFrame[0]); player.ready().then(function(){ if(popupSettings.autoplay==='true'){ player.play().catch(function(error){ console.error('error playing the video:', error.name); }); } player.on('ended', prettyPhotoVideoEnd); }); } if(videoSource=='other'){ createHTML5Player( $("#pp_full_res source").attr('src'), $("#pp_full_res"), prettyPhotoVideoEnd ); } var $_desc=$('.pp_description'), desc_height=parseInt($_desc.height()), desc_line_height=parseInt($_desc.css('font-size')); if(desc_line_height < desc_height){ $('.pp_content').height($('.pp_content').height() + desc_height - desc_line_height); } if(typeof download!=='undefined'&&!videoSource){ self.setPrettyPhotoDownloadBtn(download); }}, callback: function(){ self.popup_opened_image=false; self.clearPopUpHash(); }, }); } if(popupType=='photobox'){ var photoBoxConfig=null; $('').appendTo('head'); $('#pbOverlay .prevNext').on('click', function(){ self.setPhotoboxMobileArrowPosition(1); }); function photoBoxVideoEnd(){ if(onEndAction > 0){ if(onEndAction===1){ $('#pbNextBtn').trigger('click'); }else if(onEndAction===2){ $('#pbCloseBtn').trigger('click'); }} } $(window).on('resize', function(){ if(videoWidth > window.innerWidth){ $('.pbWrapper .zoomable').attr('style', 'width: '+window.innerWidth*.8+'px; height: '+window.innerWidth*.8 / 4 * 3+'px;'); $('img.zoomable').removeAttr('style'); } clearTimeout(window.photoBoxResizeTimeout); window.photoBoxResizeTimeout=setTimeout(function(){ if($('#pbOverlay').hasClass('thumbs')&&window.screen.width < 900){ $('#pbOverlay').width(window.screen.width); $('#pbOverlay').height(window.screen.height); $(document).scrollLeft(0); } var $videoFrame=$('#pbOverlay .pbWrapper iframe'); if($videoFrame.length > 0){ if($videoFrame.width() > window.screen.width){ $videoFrame.parent().css({ width: window.screen.width, height: '100%' }); } if($videoFrame.height() > window.screen.height){ $videoFrame.parent().css({ height: window.screen.height, width: '100%' }); }} }, 100); }); this.$container.find('.grid-gallery-photos').photobox('destroy'); photoBoxConfig={ autoplay: this.$container.data('popup-slideshowAuto'), beforeShow: function(element){ self.changePopUpHash($(element).attr('id')||$(element).attr('data-id')); self.addSocialShareToPopUp($(element),$('#pbCaption'),'photobox',true); videoSource=$(element).data('video-source'); if(typeof download!=='undefined'&&!videoSource){ self.setPhotoboxDownloadBtn(download); }else{ $('.pbWrapper').find('.popup-download-photos-button').remove(); }}, afterClose: function(){ $('#pbOverlay .pbWrapper iframe').remove(); self.clearPopUpHash(); }, getTitle: function(el){ return self.getPopupTitle($(el)); }, thumb: function(link){ if(self.$container.data('caption-buider')=='1'&&self.$container.data('caption-builder-icons')==1){ return link.closest('.grid-gallery-caption').find('img')[0]; }else if(self.$container.data('icons')){ return link.closest('.grid-gallery-caption').find('img')[0]; } return null; }, }; if(isLazyLoad){ photoBoxConfig['thumbAttr']='data-gg-real-image-href'; } this.$container.find('.grid-gallery-photos').photobox('a.pbox', photoBoxConfig, function(event){ var $videoFrame=$('#pbOverlay .pbWrapper iframe'); $videoFrameWrapper=$videoFrame.parent(); if(videoSource=='youtube'){ if($videoFrameWrapper.attr('data-iframe')!=='original_frame'){ $videoFrame.stop(); var videoSrc=$videoFrame.attr('src'); videoId=videoSrc.match(youTubeRegExp)[1]; $('
      ', {id: 'youtube-player'}).insertBefore($videoFrame); $videoFrame.remove(); createYouTubePlayer({ node: 'youtube-player', videoId: videoId, params: (videoSrc.match(/[\?&]rel=0/i) ? {rel: 0}:{}), onReady: function(event){ $(window).trigger('resize'); if(popupSettings.autoplay==='true'){ event.target.playVideo(); }}, onStateChange: function(event){ if(event.data===0){ photoBoxVideoEnd(); } if(event.data==1){ self.setPhotoboxMobileArrowPosition(0); }else{ self.setPhotoboxMobileArrowPosition(1); } if(event.data===1){ $('.pp_nav a.pp_play').addClass('stop'); $('.pp_nav a.pp_pause').addClass('stop'); }else{ $('.pp_nav a.pp_play').removeClass('stop'); $('.pp_nav a.pp_pause').removeClass('stop'); }} }); }} if(videoSource=='vimeo'){ var player=new Vimeo.Player($videoFrame[0]); player.ready().then(function(){ if(popupSettings.autoplay==='true'){ $(window).trigger('resize'); player.play().catch(function(error){ console.error('error playing the video:', error.name); }); } player.on('ended', photoBoxVideoEnd); player.on('play', function(paused){ self.setPhotoboxMobileArrowPosition(0); }); player.on('pause', function(paused){ self.setPhotoboxMobileArrowPosition(1); }); }); } if(videoSource=='other'){ createHTML5Player( $videoFrame.attr('src'), $videoFrame, photoBoxVideoEnd, true ); $(window).trigger('resize'); }}); $(document).on('pboxPreviewClicked', function(){ self.setPhotoboxMobileArrowPosition(1); }); }}; ProGallery.prototype.setPhotoboxMobileArrowPosition=(function(pos){ if(this.$container.data('popupType')=='photobox'&&this.$container.data('isMobile')==1){ var $arrows=$('#pbOverlay .prevNext'); if(pos==0){ $arrows.css('z-index', '0'); }else{ $arrows.css('z-index', '100'); }} }); ProGallery.prototype.changeLinkedImageScrollOffset=function(event){ var $linkedImageObj=$(".linkedImages"); var scrollHeight=parseInt($linkedImageObj.prop("scrollHeight")); var currScroll=parseInt($linkedImageObj.scrollTop()); var clickOffset=85; if(!isNaN(scrollHeight)&&!isNaN(currScroll)&&event&&event.data){ var newScrollOfsset; if(event.data.direction==0){ newScrollOfsset=currScroll - clickOffset; if(newScrollOfsset < 0){ newScrollOfsset=0; }}else{ newScrollOfsset=currScroll + clickOffset; if(newScrollOfsset > scrollHeight){ newScrollOfsset=scrollHeight; }} $linkedImageObj.stop(true, true).animate({scrollTop: newScrollOfsset}, 500); }}; ProGallery.prototype.autoChangeLinkImgScrollOffset=function(selItem){ var $linkedImageObj=$(".linkedImages"); if(selItem.length&&selItem[0].offsetTop){ var wndPaddingTop=55; if($(window).width() < 500){ wndPaddingTop=35; } var newOffset=parseInt(selItem[0].offsetTop) - wndPaddingTop; if(!isNaN(newOffset)){ $linkedImageObj.stop(true, true).animate({scrollTop: newOffset }, 1000); }} }; ProGallery.prototype.getLinkedImagesContainer=function(){ var $colorBoxObj=$('#colorbox'); var $linkedImagesContainer=$('
      ').css({ 'position':'absolute', 'right': '0', 'bottom':'0', 'width':'75px', }).appendTo($colorBoxObj); $colorBoxObj.css('padding-right', '85px'); $('').appendTo($colorBoxObj); $('').appendTo($colorBoxObj); $("#colorbox .link-img-arr-top").on('click', {'direction': 0}, this.changeLinkedImageScrollOffset); $("#colorbox .link-img-arr-bottom").on('click', {'direction': 1}, this.changeLinkedImageScrollOffset); return $linkedImagesContainer; }; ProGallery.prototype.initColorBoxOnLoadHandler=(function(){ var self=this; $(document).on('cbox_load', function(event){ if(self.popup_opened_image==$.colorbox.element()) return; self.popup_opened_image=$.colorbox.element(); var $linkElem=$($.colorbox.element()), popupWindowWidth=parseFloat(($(window).width() * 95 / 100)), mobileWidth=(popupWindowWidth < 700), $colorBoxPopup=$('#colorbox'), linkedImage=$linkElem.is('.gg-video') ? undefined:$linkElem.children('figure').attr('data-linked-images'); if(linkedImage||$linkElem.hasClass('linked-element')){ if(!$linkElem.hasClass('linked-element')){ if(self.$container.data('popupDisableSourceImageForLinkedImg')==1){ var images=$.parseJSON(linkedImage); if(images&&images.length > 0){ $linkElem.attr('href', images[0]["full"]); }} if($colorBoxPopup.css('padding-right')){ var tmpPaddingRight=parseInt($colorBoxPopup.css('padding-right'), 10), tmpLeft=parseInt($colorBoxPopup.css('left'), 10); if(!isNaN(tmpPaddingRight)&&!isNaN(tmpLeft)){ if(tmpLeft - tmpPaddingRight < 0){ $.colorbox.settings.left=0; }else{ if(mobileWidth){ if($.colorbox.settings.left==false){ $.colorbox.settings.left=tmpLeft - tmpPaddingRight; }} }}else{ $.colorbox.settings.left=false; }} }}else{ $.colorbox.settings.left=false; $.colorbox.settings.width=false; } if(mobileWidth){ $.colorbox.settings.width=popupWindowWidth - tmpPaddingRight; } if(!self.initPopupWndSizeForLinkedImages&&$linkElem.children('figure').attr('data-linked-images')){ self.initPopupWndSizeForLinkedImages=true; $.colorbox.resizeResponsive(self.popup_opened_image); }}); }); ProGallery.prototype.initLinkedImages=function(){ if($('#colorbox .linkedImages').length){ return; } var self=this; var $linkedImagesContainer=self.getLinkedImagesContainer(); var $linkedImagesColorbox; var isLinkedImage=false; var isIconsEnabled=false; var $linkedImageTemplate=$('') .on('click', function(){ isLinkedImage=true; }); $(document).on('cbox_complete', function(event){ if(!$('#colorbox .linkedImages').length){ $linkedImagesContainer=self.getLinkedImagesContainer(); } var $colorboxElement=$.colorbox.element(), $element, paddingLeft=0, $colorBoxPopup=$('#colorbox'), maxLinkedImgWindowWidth=parseFloat(($(window).width() * 95 / 100)), colorboxSettings=$colorboxElement.data('colorbox'); if($colorboxElement.hasClass('hi-icon')){ $element=$colorboxElement.closest('.grid-gallery-caption'); isIconsEnabled=true; }else{ $element=$colorboxElement.find('.grid-gallery-caption'); } if($colorboxElement.hasClass('linked-element')){ $('#colorbox .linkedImages a').removeClass('active'); $colorboxElement.addClass('active'); } if(isLinkedImage&&!$element.length){ return; } $("#colorbox .link-img-arr-top").hide(); $("#colorbox .link-img-arr-bottom").hide(); $('#colorbox .linkedImages').empty(); var linkedImages=$colorboxElement.is('.gg-video') ? undefined:$element.data('linked-images'); if(linkedImages){ if($colorBoxPopup.css('padding-right')){ var tmpVal=parseInt($colorBoxPopup.css('padding-right'), 10); if(!isNaN(tmpVal)){ paddingLeft=tmpVal; }} colorboxSettings.maxWidth=maxLinkedImgWindowWidth - paddingLeft; for (var i=linkedImages.length - 1; i >=0; i--){ var $template=$linkedImageTemplate.clone(true, true) , linkImageText=null; if($element.data('linked-image-title')=='data-description'){ linkImageText=linkedImages[i].description; }else if($element.data('linked-image-title')=='data-title'){ linkImageText=linkedImages[i].title; }else if($element.data('linked-image-title')=='alt'){ linkImageText=linkedImages[i].alt; } $template.attr('data-href', linkedImages[i].full); $template.find('img') .attr('src', linkedImages[i].thumbnail||linkedImages[i].full) .attr('title', linkImageText); $template.appendTo($linkedImagesContainer); } $linkedImagesColorbox=$('#colorbox .linkedImages a').colorbox($.extend({}, colorboxSettings, { iframe: false, onComplete: function(e){ var $imgObj=$("#cboxWrapper .cboxPhoto"); $imgObj.css({"margin": "0"}); self.changePopUpHash($(e.el).attr('id')||$(e.el).attr('data-id')); self.addSocialShareToPopUp($(e.el), $('#cboxContent'), 'popup'); self.$container.find('.grid-gallery-photos > .gg-colorbox, .hi-icon.gg-colorbox').colorbox.resize({ 'width': $imgObj.width(), 'height': $imgObj.height(), 'innerHeight': $imgObj.innerHeight(), 'innerWidth': $imgObj.innerWidth(), }); $("#cboxLoadedContent").append("
      "); }, rel: 'grid-gallery-' + $element.data('id'), href: function(){ return $(this).attr('data-href'); }, onOpen: function(e){ colorboxSettings.onOpen(e); }, onLoad: function(e){ if(self.popup_opened_image!=false&&self.popup_opened_image==e.el) return; self.popup_opened_image=e.el; self.autoChangeLinkImgScrollOffset($(self.popup_opened_image)); }, onClosed: function(e){ self.popup_opened_image=false; colorboxSettings.onClosed(e); }}) ); var thumbnail=$element.find('img').attr('src') , thumbNailSize=self.$container.data('thumbnail-size'); if(!thumbNailSize){ thumbNailSize='150x150'; } if(/(-\d{2,}x\d{2,})(:?\..{3,})?$/.test(thumbnail)){ thumbnail=thumbnail.replace(/(-\d{2,}x\d{2,})(:?\..{3,})?$/, function(string, match, extension){ return string.replace(match + extension, '-' + thumbNailSize + extension); }); } if(self.$container.data('popupDisableSourceImageForLinkedImg')!=1){ var $parentTemplate=$linkedImageTemplate.clone(true, true); $parentTemplate.find('img').attr('src', thumbnail); $parentTemplate.prependTo($linkedImagesContainer); $parentTemplate.addClass('active'); $parentTemplate.on('click', function(){ if(isIconsEnabled){ $element.find('a').trigger('click'); }else{ $colorboxElement.trigger('click'); }}); } $('#colorbox .linkedImages').fadeIn(); $('#colorbox .linkedImages img').css('margin-bottom', '10px'); var $linkedImageObj=$(".linkedImages"); var scrollHeight=parseInt($linkedImageObj.prop("scrollHeight")); if(scrollHeight > $linkedImageObj.height()){ $("#colorbox .link-img-arr-top").show(); $("#colorbox .link-img-arr-bottom").show(); } if(self.$container.data('popupDisableSourceImageForLinkedImg')!=1){ if(self.prevPopUpOpenedImg!=self.popup_opened_image){ self.prevPopUpOpenedImg=self.popup_opened_image; setTimeout(function(){ $.colorbox.resizeResponsive(self.popup_opened_image); }, 300); }} }}); }; ProGallery.prototype.initDisableRightClick=function(){ if(this.$container.attr('data-disable-right-click')){ $(this.$container.find('.grid-gallery-photos')).bind("contextmenu",function(e){ return false; }); }}; ProGallery.prototype.addCaptionOnHoverImageEvent=(function($figure, $image, hoverImgSrc){ var fadeTimeout=100; if($image.hasClass('ggLazyImg')) return; if($image.attr('src')!=hoverImgSrc){ if($image.length&&$image[0].naturalWidth&&this.$container.data('gridType')!=4){ $image.css('width', $image[0].naturalWidth); }else{ $image.css('width', $image.width()); } if($image.length&&$image[0].naturalHeight&&this.$container.data('gridType')!=4){ $image.css('height', $image[0].naturalHeight); }else{ $image.css('height', $image.height()); } $image.attr('without-hover-img-effect', $image.attr('src')); if(!$image.is('[data-gg-real-image-href]')){ $image.attr('data-gg-real-image-href', $image.attr('src')); }} $figure.on('mouseenter', function (event){ $image.attr('src', hoverImgSrc); }).on('mouseleave', function(){ $image.attr('src', $image.attr('data-gg-real-image-href')); }); }); ProGallery.prototype.setCaptionOnHoverImage=(function(){ var hoverImgSrc=this.$container.data('image-on-hover') , self=this; if(hoverImgSrc&&hoverImgSrc.length){ this.$elements.each(function(index, figure){ var $figure=$(figure) , $image=$figure.find('img'); if($image.length){ self.addCaptionOnHoverImageEvent($figure, $image, hoverImgSrc); }}); }else if(this.$container.data('thumb-overlay-personal')=='1'){ this.$elements.each(function(index, figure){ var $figure=$(figure) , $image=$figure.find('img[data-personal-hover-on-image]'); if($image.length){ hoverImgSrc=$image.data('personal-hover-on-image'); self.addCaptionOnHoverImageEvent($figure, $image, hoverImgSrc); }}); }}); ProGallery.prototype.selectCategoryByUrlHash=(function(currGallery){ if(currGallery&&currGallery.$container&&currGallery.$container.attr&&currGallery.$container.attr('id')&&window.location.hash){ var galleryId=currGallery.$container.attr('data-gg-id') , openCategoryByLinkRegexp=new RegExp('^#gg-categ-' + galleryId + '-([- _\\|"@\\+!=\\w\\d]*)$', 'gi') , categoryMatches=openCategoryByLinkRegexp.exec(window.location.hash.replace(new RegExp('__', 'g'), ' ')); var catMatch=categoryMatches&&categoryMatches.length&&categoryMatches[1], catNames=catMatch ? null:window.location.hash.replace(new RegExp('__', 'g'), ' ').split('-'); if(catMatch||catNames){ var catName=catMatch ? categoryMatches[1]:catNames.slice(-1)[0]; currGallery.$navigation.find('a[data-tag="'+ catName+ '"]').trigger('click'); }else{ this.selectFirstCategory(); }}else{ this.selectFirstCategory(); }}); ProGallery.prototype.selectFirstCategory=(function(){ var firstTag=this.$navigation.find('a').first().data('tag'); this.$navigation.find('a[data-tag="' + firstTag + '"]').trigger('click'); }); ProGallery.prototype.initMosaicGalleryType=(function(){ if(this.$container.data('gridType')==4){ var $photoRemainDiv=$('.gg-mosaic-photo-remain') , $galleryCaptFigure=$('.gg-mosaic-photo-remain').closest('.grid-gallery-caption') , self2=this , useMosaic2Layout=this.$container.attr('data-useMosaic2Layout')==1 ; if(useMosaic2Layout){ var wall=new Freewall('#' + self2.$container.attr('id') + ' .grid-gallery-photos'); function mosaicGalleryRefresh(wallScript){ setTimeout(function(){ wallScript.fitWidth(); setTimeout(function(){ wallScript.fitWidth(); }, 500); }, 5); } self2.$container.attr('data-mosaic2wnd-size', this.$container.width()); function render2MosaicLayout(){ var cntColumns=parseInt(self2.$container.attr('data-useMosaicCountColumns')); if(isNaN(cntColumns)||cntColumns < 3){ cntColumns=4; } if(cntColumns > 20){ cntColumns=20; } var imgMaxWidth=Math.round(self2.$container.width() / cntColumns) , $imageContainer=self2.$container.find('.grid-gallery-photos') , $imageFigures=$imageContainer.find('.grid-gallery-caption') , notBigImage=Math.round($imageFigures.length / 3) , imageDistance=parseInt(self2.$container.attr('data-offset')) , sizesArr=[imgMaxWidth] , maxColumnsForImg=Math.round(cntColumns * (cntColumns >=8 ? 0.5:0.7)); for(var i=maxColumnsForImg; i > 1; i--){ sizesArr.push(i * imgMaxWidth); }; $imageFigures.each(function(ind, item){ var $currWrapper=$(this) , $wrapperParent=$currWrapper.parent() , imgHeight=0 , imgWidth=0 , $image=$currWrapper.find('.ggImg') , newIndex=Math.abs(Math.round(Math.random() * maxColumnsForImg - 0.5)) , imgNewWidth=sizesArr[notBigImage < ind||newIndex!=1 ? newIndex:sizesArr.length - 1]; if($currWrapper.css('block')=='none'){ mgNewWidth=0; $wrapperParent.css({'height': '0', 'width': '0'}); }else{ $wrapperParent.css({'height': '', 'width': ''}); if($image.length){ imgHeight=parseInt($image[0].naturalHeight); imgWidth=parseInt($image[0].naturalWidth); if(imgHeight&&imgWidth&&!isNaN(imgHeight)&&!isNaN(imgWidth)){ if(imgWidth > imgHeight){ if(imgHeight*2 < imgWidth){ imgNewWidth=sizesArr[1]; }}else{ if(newIndex==1){ imgNewWidth=sizesArr[0]; }} }} } if($wrapperParent.hasClass('gg-link')){ $wrapperParent.css({'width': imgNewWidth + 'px'}); $currWrapper.css({'width': '100%'}); }else{ $currWrapper.css({'width': imgNewWidth + 'px'}); }}); if(isNaN(imageDistance)){ imageDistance=0; } wall.reset({ 'selector': '.gg-link', 'animate': true, 'cellW': imgMaxWidth, 'cellH': 'auto', 'gutterX': imageDistance, 'gutterY': imageDistance, 'onResize': function(){ var prevWndSize=self2.$container.attr('data-mosaic2wnd-size') , containerWidth=self2.$container.width() ; if(prevWndSize!=containerWidth){ render2MosaicLayout() }else{ mosaicGalleryRefresh(wall); } self2.$container.attr('data-mosaic2wnd-size', containerWidth); }}); mosaicGalleryRefresh(wall); } render2MosaicLayout(); }else{ self2.calcImgHeightInMosaicGallery(); if(self2.$container.data('show-mosaic-all-img')!='1'){ if($galleryCaptFigure.length){ $galleryCaptFigure.attr('data-grid-gallery-type-original', $galleryCaptFigure.attr('data-grid-gallery-type')); }} if(!this.isMosaicInit){ $(document).on('ggMosaicResizedEvent', function(){ self2.initMosaicGalleryType(); }); this.isMosaicInit=true; } $photoRemainDiv.off('click').on('click', function(event){ if(self2.$container.data('show-hide-mosaic-img-by-click')=='1'){ event.preventDefault(); event.stopPropagation(); if($galleryCaptFigure.length){ $galleryCaptFigure.attr('data-grid-gallery-type', $galleryCaptFigure.attr('data-grid-gallery-type-original')); var $figcaption=$galleryCaptFigure.find('figcaption'); if($figcaption.length){ $figcaption.removeClass('sggDisplNone'); }} self2.$container.find('.gg-mosaic-wrapper .gg-mw-row').removeClass('sggDisplNone'); $photoRemainDiv.remove(); self2.calcImgHeightInMosaicGallery(); self2.initPopup(); self2.initVideoPopup(); }}); }} }); ProGallery.prototype.calcImgHeightInMosaicGallery=(function(recalc){ var $firstRows=this.$container.find('.gg-mw-row.gg-mw-first-row') , $secondRows=this.$container.find('.gg-mw-row.gg-mw-second-row') , imageMargin=parseInt(this.$container.data('offset')) , $firstFigure=this.$container.find('.gg-mw-column.gg-mw-column-1:first figure') , self2=this ; if(isNaN(imageMargin)){ imageMargin=0; } $firstRows.each(function(ind, elem){ var $currRow=$(elem) , $figure2=$currRow.find('.gg-mw-column-1 figure') , $figure3=$currRow.find('.gg-mw-column-2 figure') , $img2=$figure2.find('img') , $img3=$figure3.find('img') , height2=self2._parent('getRealImgSizeInBrowser', [$img2, 'h']) , height3=self2._parent('getRealImgSizeInBrowser', [$img3, 'h']) , correctHeight2=height2 , correctHeight3=height3 ; if($currRow.find('figure.initialized').length==0){ if(height2||height3){ if($img2.length&&$img3.length&&!isNaN(height2)&&!isNaN(height3)){ if(height2&&height3){ if(height2 > height3){ correctHeight2=height3; }else{ correctHeight3=height2; }} } if($firstFigure.data('grid-gallery-type')=='3d-cube'){ self2._parent('changeImageHeightFor3dCubeEffect', {'figure': $figure2, 'width': null, 'height': correctHeight2}); self2._parent('changeImageHeightFor3dCubeEffect', {'figure': $figure3, 'width': null, 'height': correctHeight3}); }else{ if($img2.length&&$img3.length&&!isNaN(correctHeight2)&&!isNaN(correctHeight3)){ $img2.parent().css('height', correctHeight2 + 'px'); $img3.parent().css('height', correctHeight3 + 'px'); }} } $currRow.css('height', (height2||height3 ? '':'0')); }}); var recalc=(typeof recalc=='undefined' ? false:recalc), needRecalc=false, cntSecondRows=$secondRows.length, curRow=0; $secondRows.each(function(ind, elem){ var $currElem=$(elem) , $figure1=$currElem.find('.gg-mt-column1 figure') , $figures=$currElem.find('.gg-mt-row2-column figure') , $img1=$figure1.find('img') , $images=$figures.find('img') , height1=self2._parent('getRealImgSizeInBrowser', [$img1, 'h']) , correctHeight1=height1 ; curRow++; if($images.length&&$currElem.find('figure.initialized').length==0){ var cntImages=$images.length, heights=[], groups={}, groupMin=0; $images.each(function(i){ var $img=$(this), h=self2._parent('getRealImgSizeInBrowser', [$img, 'h']), g=$img.closest('td').attr('data-group'); if(typeof g=='undefined'){ g=1; } heights.push(h); if(g in groups){ groups[g]['imgs'].push(i); if(groups[g]['min']==0||groups[g]['min'] > h) groups[g]['min']=h; }else{ groups[g]={'min': h, 'imgs': [i]};} if(groupMin==0||(groups[g]['min'] > 0&&groupMin > groups[g]['min'])) groupMin=groups[g]['min']; }); var sumHeight=2*imageMargin; for (var g in groups){ if(groups[g]['min']==0) groups[g]['min']=groupMin; $.each(groups[g]['imgs'], function(ind, i){ heights[i]=groups[g]['min']; }); } var sumHeight=2*imageMargin; for (var g in groups){ $.each(groups[g]['imgs'], function(ind, i){ heights[i]=groups[g]['min']; }); sumHeight +=groups[g]['min']; } if(height1 > sumHeight){ if(Math.round(height1 / sumHeight) >=2&&!recalc){ $img1.closest('tr').find('td.gg-mt-column1').css('width', '50%'); needRecalc=true; }else if(curRow < cntSecondRows&&sumHeight > 2*imageMargin){ correctHeight1=sumHeight; }}else if(correctHeight1 < sumHeight&&correctHeight1 > 0){ var delta=(sumHeight - correctHeight1) * 100 / (sumHeight - 2*imageMargin); for (var g in groups){ var cut=groups[g]['min'] - delta * groups[g]['min'] / 100; $.each(groups[g]['imgs'], function(ind, i){ heights[i]=cut; }); }} if($firstFigure.data('grid-gallery-type')=='3d-cube'){ self2._parent('changeImageHeightFor3dCubeEffect', {'figure': $figure1, 'width': null, 'height': correctHeight1}); $.each(heights, function(i, h){ self2._parent('changeImageHeightFor3dCubeEffect', {'figure': $images.eq(i).closest('figure'), 'width': null, 'height': h}); }); }else{ $img1.parent().css('height', correctHeight1 + 'px'); $.each(heights, function(i, h){ $images.eq(i).parent().css('height', h + 'px'); }); }} }); if(!recalc&&needRecalc) self2.calcImgHeightInMosaicGallery(true); else { $.each(self2.$elements, function(index, el){ var $el=$(el); if($el.closest('table').find('img.ggLazyImg').length==0){ $el.find('img').removeClass('ggNotInitImg'); self2.polaroidCaptionCalculate($el); }}); }}); ProGallery.prototype.initPopupFunc=(function(){ var popupType=this.$container.data('popup-type'); if(popupType=='pretty-photo'){ window.prettyPhotoShowContent=function(changeWidthAndHeight, currImgRotateVal, $ppPopupImage, $ppImageWrapper, pp_dimensions){ if(!changeWidthAndHeight){ $ppImageWrapper.css({ 'width': 'auto', 'height': 'auto', }); }else{ $ppImageWrapper.css({ 'width': pp_dimensions['width'], 'height': pp_dimensions['height'], }); var translateVal=(pp_dimensions['height'] - pp_dimensions['width']) / 2 , maxWidthVal=pp_dimensions['width'] , rotateVal=90*currImgRotateVal; switch(currImgRotateVal){ case 3: translateVal *=-1; maxWidthVal=pp_dimensions['height']; break; case 2: translateVal=0; break; case 1: maxWidthVal=pp_dimensions['height']; break; case 0: default: translateVal=0; break; } if(!isNaN(rotateVal)){ $ppPopupImage.css({ 'width': 'auto', 'height': 'auto', 'max-width': maxWidthVal, 'transform': 'rotateZ(' + rotateVal + 'deg) translate(' + translateVal + 'px, ' + translateVal + 'px)', }); }} $ppPopupImage.show(); }; window.prettyPhotoRotateCalcs=(function(event, handlerFunc, needToIncrease){ if(event&&event.preventDefault){ event.preventDefault(); } var $imgForRotate=$('#fullResImage') , currImgRotateVal=parseInt($imgForRotate.attr('data-rotate-angl')) , toFitWidth , toFitHeigth ; $imgForRotate.hide(); if(!$imgForRotate.length){ return; } if(currImgRotateVal < 0||currImgRotateVal > 3||isNaN(currImgRotateVal)){ currImgRotateVal=0; } if(needToIncrease){ currImgRotateVal++; $imgForRotate.attr('data-rotate-angl', currImgRotateVal); } if([1, 3].indexOf(currImgRotateVal)!=-1){ toFitHeigth=$imgForRotate[0].naturalWidth; toFitWidth=$imgForRotate[0].naturalHeight; }else{ toFitHeigth=$imgForRotate[0].naturalHeight; toFitWidth=$imgForRotate[0].naturalWidth; } handlerFunc(toFitWidth, toFitHeigth, currImgRotateVal); return false; }); window.prettyPhotoInitRotate=function(handlerFunc){ var $rotateBtn=$('.sggRotateBtn[data-popup-theme-id="6"]'); $rotateBtn.on('click', function (event){ window.prettyPhotoRotateCalcs(event, handlerFunc, 1); }); }; window.prettyPhotoDetailLink=function(element){ var $popupDetailsLink=$('.sggTheme6PopupBtns .sggLinkBtn'); $popupDetailsLink.hide(); if(element.attr('data-link-url')){ $popupDetailsLink.attr('href', element.attr('data-link-url')); $popupDetailsLink.show(); }} window.prettyPhotoAttributes=function(element, container){ var $popupAttributes=$('#ppCustomAttributes').empty(), order, attributes; try { order=JSON.parse(container.attr('data-attributes-order')); attributes=JSON.parse(element.attr('data-attributes')); } catch(err){ } if(!$.isArray(attributes)){ attributes=[]; } if($.isArray(order)){ $.each(order, function(index, attrName){ $popupAttributes.append('' + attrName + ':'); for(var i=0; i < attributes.length; i++){ if('name' in attributes[i]&&'value' in attributes[i]&&attributes[i]['name']==attrName){ $popupAttributes.append('' + attributes[i]['value'] + ''); break; }} $popupAttributes.append('
      '); }); } if(container.attr('data-show-buttonlink-in-popup')==1){ var title=element.attr('data-buttonlink-title'), url=element.attr('data-buttonlink-url'); if(typeof(title)=='undefined'||title==''){ title=container.attr('data-buttonlink-title'); } if(typeof(url)=='undefined'||url==''){ url=container.attr('data-buttonlink-url'); } $('#ppAttributeButton').find('a').attr('href', url).html(title); }} window.prettyPhotoInitOnHoverThumb=(function($element, galleryId, runPopupResizeHandler){ var $gallery=$('.grid-gallery[data-gg-id="' + galleryId + '"]') , $ggImgItem=$element.find('img.ggImg') , galleryOnHoverImgSrc=$gallery.attr('data-image-on-hover') , personalOnHoverSrc=$ggImgItem.attr('data-personal-hover-on-image') , $imgInPopup=$('.sggT6OnHoverThumbImg') , $imgWrapper=$('.sggTheme6OnHoverThumbWr') , imgSrc=$element.attr('href') ; if(personalOnHoverSrc){ galleryOnHoverImgSrc=personalOnHoverSrc; } $imgInPopup.attr('src', galleryOnHoverImgSrc); $imgWrapper.attr('data-show-on-hover', 1); if($element.length&&$gallery.length){ if(!galleryOnHoverImgSrc){ $imgWrapper.hide(); $imgInPopup.attr('src', ''); }else{ $imgWrapper.show(); $imgWrapper.off('click').on('click', function(event){ var $currWrapper=$(this) , $imgForPreview=$('#fullResImage') ; if($currWrapper.attr('data-show-on-hover')){ $imgInPopup.attr('src', imgSrc); $currWrapper.attr('data-show-on-hover', ''); $imgForPreview.attr('src', galleryOnHoverImgSrc); }else{ $imgInPopup.attr('src', galleryOnHoverImgSrc); $currWrapper.attr('data-show-on-hover', 1); $imgForPreview.attr('src', imgSrc); } window.prettyPhotoRotateCalcs(null, runPopupResizeHandler, 0); }); }} }); }}); $(document).on("GalleryExtend", function(event, Gallery){ $.extend(Gallery, new ProGallery()); }); }(jQuery)); function htmlDecode(input){ var e=document.createElement('div'); e.innerHTML=input; return e.childNodes[0].nodeValue; } function arraysEqual(a, b){ if(a===b) return true; if(a==null||b==null) return false; if(a.length!=b.length) return false; for (var i=0; i < a.length; ++i){ if(a[i]!==b[i]) return false; } return true; }; (function($){ $.isNumeric==null&&($.isNumeric=function(src){ return src!=null&&src.constructor===Number; }); $.isFunction==null&&($.isFunction=function(src){ return src!=null&&src instanceof Function; }); var $W=$(window); var $D=$(document); var layoutManager={ defaultConfig: { animate: false, cellW: 100, cellH: 100, delay: 0, engine: 'giot', fixSize: null, gutterX: 15, gutterY: 15, keepOrder: false, selector: '> div', draggable: false, cacheSize: true, rightToLeft: false, bottomToTop: false, onGapFound: function(){}, onComplete: function(){}, onResize: function(){}, onBlockDrag: function(){}, onBlockMove: function(){}, onBlockDrop: function(){}, onBlockReady: function(){}, onBlockFinish: function(){}, onBlockActive: function(){}, onBlockResize: function(){}}, plugin: {}, totalGrid: 1, transition: false, loadBlock: function(item, setting){ var runtime=setting.runtime; var gutterX=runtime.gutterX; var gutterY=runtime.gutterY; var cellH=runtime.cellH; var cellW=runtime.cellW; var block=null; var $item=$(item); var active=$item.data("active"); var fixPos=$item.attr('data-position'); var fixSize=parseInt($item.attr('data-fixSize')); var blockId=runtime.lastId++ + '-' + runtime.totalGrid; if($item.hasClass('fw-float')) return null; $item.attr({id: blockId, 'data-delay': item.index}); if(setting.animate&&this.transition){ this.setTransition(item, ""); } isNaN(fixSize)&&(fixSize=null); (fixSize==null)&&(fixSize=setting.fixSize); var makeRound=(!fixSize) ? "round":"ceil"; $item.attr('data-height')==null&&$item.attr('data-height', $item.height()); $item.attr('data-width')==null&&$item.attr('data-width', $item.width()); var height=1 * $item.attr('data-height'); var width=1 * $item.attr('data-width'); if(!setting.cacheSize){ item.style.width=""; width=$item.width(); item.style.height=""; height=$item.height(); } var col = !width ? 0:Math[makeRound]((width + gutterX) / cellW); var row = !height ? 0:Math[makeRound]((height + gutterY) / cellH); if(!fixSize&&setting.cellH=='auto'){ $item.width(cellW * col - gutterX); item.style.height=""; height=$item.height(); row = !height ? 0:Math.round((height + gutterY) / cellH); } if(!fixSize&&setting.cellW=='auto'){ $item.height(cellH * row - gutterY); item.style.width=""; width=$item.width(); col = !width ? 0:Math.round((width + gutterX) / cellW); } if((fixSize!=null)&&(col > runtime.limitCol||row > runtime.limitRow)){ block=null; }else{ row&&row < runtime.minHoB&&(runtime.minHoB=row); col&&col < runtime.minWoB&&(runtime.minWoB=col); row > runtime.maxHoB&&(runtime.maxHoB=row); col > runtime.maxWoB&&(runtime.maxWoB=col); width==0&&(col=0); height==0&&(row=0); block={ resize: false, id: blockId, width: col, height: row, fixSize: fixSize }; if(fixPos){ fixPos=fixPos.split("-"); block.y=1 * fixPos[0]; block.x=1 * fixPos[1]; block.width=fixSize!=null ? col:Math.min(col, runtime.limitCol - block.x); block.height=fixSize!=null ? row:Math.min(row, runtime.limitRow - block.y); var holeId=block.y + "-" + block.x + "-" + block.width + "-" + block.height; if(active){ runtime.holes[holeId]={ id: block.id, top: block.y, left: block.x, width: block.width, height: block.height }; this.setBlock(block, setting); }else{ delete runtime.holes[holeId]; }} } if($item.attr("data-state")==null){ $item.attr("data-state", "init"); }else{ $item.attr("data-state", "move"); } setting.onBlockReady.call(item, block, setting); return (fixPos&&active) ? null:block; }, setBlock: function(block, setting){ var runtime=setting.runtime; var gutterX=runtime.gutterX; var gutterY=runtime.gutterY; var height=block.height; var width=block.width; var cellH=runtime.cellH; var cellW=runtime.cellW; var x=block.x; var y=block.y; if(setting.rightToLeft){ x=runtime.limitCol - x - width; } if(setting.bottomToTop){ y=runtime.limitRow - y - height; } var realBlock={ fixSize: block.fixSize, resize: block.resize, top: y * cellH, left: x * cellW, width: cellW * width - gutterX, height: cellH * height - gutterY }; realBlock.top=1 * realBlock.top.toFixed(2); realBlock.left=1 * realBlock.left.toFixed(2); realBlock.width=1 * realBlock.width.toFixed(2); realBlock.height=1 * realBlock.height.toFixed(2); block.id&&(runtime.blocks[block.id]=realBlock); return realBlock; }, showBlock: function(item, setting){ var runtime=setting.runtime; var method=setting.animate&&!this.transition ? 'animate':'css'; var block=runtime.blocks[item.id]; var $item=$(item); var self=this; var start=$item.attr("data-state")!="move"; var trans=start ? "width 0.5s, height 0.5s":"top 0.5s, left 0.5s, width 0.5s, height 0.5s, opacity 0.5s"; item.delay&&clearTimeout(item.delay); if($item.hasClass('fw-float')) return; self.setTransition(item, ""); item.style.position="absolute"; setting.onBlockActive.call(item, block, setting); function action(){ start&&$item.attr("data-state", "start"); if(setting.animate&&self.transition){ self.setTransition(item, trans); } runtime.length -=1; if(!block){ var height=parseInt(item.style.height)||0; var width=parseInt(item.style.width)||0; var left=parseInt(item.style.left)||0; var top=parseInt(item.style.top)||0; $item[method]({ left: left + width / 2, top: top + height / 2, width: 0, height: 0, opacity: 0 }); }else{ if(block.fixSize){ block.height=1 * $item.attr("data-height"); block.width=1 * $item.attr("data-width"); } $item["css"]({ opacity: 1, width: block.width, height: block.height }); $item[method]({ top: block.top, left: block.left }); if($item.attr('data-nested')!=null){ self.nestedGrid(item, setting); }} setting.onBlockFinish.call(item, block, setting); if(runtime.length==0){ var duration=setting.animate ? 500:0; item.delay=setTimeout(function(){ setting.onComplete.call(item, block, setting); }, duration); }} block&&block.resize&&setting.onBlockResize.call(item, block, setting); setting.delay > 0 ? (item.delay=setTimeout(action, setting.delay * $item.attr("data-delay"))):action(); }, nestedGrid: function(item, setting){ var innerWall, $item=$(item), runtime=setting.runtime; var gutterX=$item.attr("data-gutterX")||setting.gutterX; var gutterY=$item.attr("data-gutterY")||setting.gutterY; var method=$item.attr("data-method")||"fitZone"; var nested=$item.attr('data-nested')||"> div"; var cellH=$item.attr("data-cellH")||setting.cellH; var cellW=$item.attr("data-cellW")||setting.cellW; var block=runtime.blocks[item.id]; if(block){ innerWall=new Freewall($item); innerWall.reset({ cellH: cellH, cellW: cellW, gutterX: 1 * gutterX, gutterY: 1 * gutterY, selector: nested, cacheSize: false }); switch (method){ case "fitHeight": innerWall[method](block.height); break; case "fitWidth": innerWall[method](block.width); break; case "fitZone": innerWall[method](block.width, block.height); break; }} }, adjustBlock: function(block, setting){ var runtime=setting.runtime; var gutterX=runtime.gutterX; var gutterY=runtime.gutterY; var $item=$("#" + block.id); var cellH=runtime.cellH; var cellW=runtime.cellW; if(setting.cellH=='auto'){ $item.width(block.width * cellW - gutterX); $item[0].style.height=""; block.height=Math.round(($item.height() + gutterY) / cellH); }}, adjustUnit: function(width, height, setting){ var gutterX=setting.gutterX; var gutterY=setting.gutterY; var runtime=setting.runtime; var cellW=setting.cellW; var cellH=setting.cellH; $.isFunction(cellW)&&(cellW=cellW(width)); cellW=1 * cellW; !$.isNumeric(cellW)&&(cellW=1); $.isFunction(cellH)&&(cellH=cellH(height)); cellH=1 * cellH; !$.isNumeric(cellH)&&(cellH=1); if($.isNumeric(width)){ cellW < 1&&(cellW=cellW * width); var limitCol=Math.max(1, Math.floor(width / cellW)); if(!$.isNumeric(gutterX)){ gutterX=(width - limitCol * cellW) / Math.max(1, (limitCol - 1)); gutterX=Math.max(0, gutterX); } limitCol=Math.floor((width + gutterX) / cellW); runtime.cellW=(width + gutterX) / Math.max(limitCol, 1); runtime.cellS=runtime.cellW / cellW; runtime.gutterX=gutterX; runtime.limitCol=limitCol; } if($.isNumeric(height)){ cellH < 1&&(cellH=cellH * height); var limitRow=Math.max(1, Math.floor(height / cellH)); if(!$.isNumeric(gutterY)){ gutterY=(height - limitRow * cellH) / Math.max(1, (limitRow - 1)); gutterY=Math.max(0, gutterY); } limitRow=Math.floor((height + gutterY) / cellH); runtime.cellH=(height + gutterY) / Math.max(limitRow, 1); runtime.cellS=runtime.cellH / cellH; runtime.gutterY=gutterY; runtime.limitRow=limitRow; } if(!$.isNumeric(width)){ cellW < 1&&(cellW=runtime.cellH); runtime.cellW=cellW!=1 ? cellW * runtime.cellS:1; runtime.gutterX=gutterX; runtime.limitCol=666666; } if(!$.isNumeric(height)){ cellH < 1&&(cellH=runtime.cellW); runtime.cellH=cellH!=1 ? cellH * runtime.cellS:1; runtime.gutterY=gutterY; runtime.limitRow=666666; } runtime.keepOrder=setting.keepOrder; }, resetGrid: function(runtime){ runtime.blocks={}; runtime.length=0; runtime.cellH=0; runtime.cellW=0; runtime.lastId=1; runtime.matrix={}; runtime.totalCol=0; runtime.totalRow=0; }, setDraggable: function(item, option){ var isTouch=false; var config={ startX: 0, startY: 0, top: 0, left: 0, handle: null, onDrop: function(){}, onDrag: function(){}, onStart: function(){}}; $(item).each(function(){ var setting=$.extend({}, config, option); var handle=setting.handle||this; var ele=this; var $E=$(ele); var $H=$(handle); var posStyle=$E.css("position"); posStyle!="absolute"&&$E.css("position", "relative"); function mouseDown(evt){ evt.stopPropagation(); evt=evt.originalEvent; if(evt.touches){ isTouch=true; evt=evt.changedTouches[0]; } if(evt.button!=2&&evt.which!=3){ setting.onStart.call(ele, evt); setting.startX=evt.clientX; setting.startY=evt.clientY; setting.top=parseInt($E.css("top"))||0; setting.left=parseInt($E.css("left"))||0; $D.bind("mouseup touchend", mouseUp); $D.bind("mousemove touchmove", mouseMove); } return false; }; function mouseMove(evt){ evt=evt.originalEvent; isTouch&&(evt=evt.changedTouches[0]); $E.css({ top: setting.top - (setting.startY - evt.clientY), left: setting.left - (setting.startX - evt.clientX) }); setting.onDrag.call(ele, evt); }; function mouseUp(evt){ evt=evt.originalEvent; isTouch&&(evt=evt.changedTouches[0]); setting.onDrop.call(ele, evt); $D.unbind("mouseup touchend", mouseUp); $D.unbind("mousemove touchmove", mouseMove); }; $E.find("iframe, form, input, textarea, .ignore-drag") .each(function(){ $(this).on("touchstart mousedown", function(evt){ evt.stopPropagation(); }); }); $D.unbind("mouseup touchend", mouseUp); $D.unbind("mousemove touchmove", mouseMove); $H.unbind("mousedown touchstart").bind("mousedown touchstart", mouseDown); }); }, setTransition: function(item, trans){ var style=item.style; var $item=$(item); if(!this.transition&&$item.stop){ $item.stop(); }else if(style.webkitTransition!=null){ style.webkitTransition=trans; }else if(style.MozTransition!=null){ style.MozTransition=trans; }else if(style.msTransition!=null){ style.msTransition=trans; }else if(style.OTransition!=null){ style.OTransition=trans; }else{ style.transition=trans; }}, getFreeArea: function(t, l, runtime){ var maxY=Math.min(t + runtime.maxHoB, runtime.limitRow); var maxX=Math.min(l + runtime.maxWoB, runtime.limitCol); var minX=maxX; var minY=maxY; var matrix=runtime.matrix; for (var y=t; y < minY; ++y){ for (var x=l; x < maxX; ++x){ if(matrix[y + '-' + x]){ (l < x&&x < minX)&&(minX=x); }} } for (var y=t; y < maxY; ++y){ for (var x=l; x < minX; ++x){ if(matrix[y + '-' + x]){ (t < y&&y < minY)&&(minY=y); }} } return { top: t, left: l, width: minX - l, height: minY - t };}, setWallSize: function(runtime, container){ var totalRow=runtime.totalRow; var totalCol=runtime.totalCol; var gutterY=runtime.gutterY; var gutterX=runtime.gutterX; var cellH=runtime.cellH; var cellW=runtime.cellW; var totalWidth=Math.max(0, cellW * totalCol - gutterX); var totalHeight=Math.max(0, cellH * totalRow - gutterY); container.attr({ 'data-total-col': totalCol, 'data-total-row': totalRow, 'data-wall-width': Math.ceil(totalWidth), 'data-wall-height': Math.ceil(totalHeight) }); if(runtime.limitCol < runtime.limitRow){ !container.attr("data-height")&&container.height(Math.ceil(totalHeight)); }} }; var engine={ giot: function(items, setting){ var runtime=setting.runtime, row=runtime.limitRow, col=runtime.limitCol, x=0, y=0, maxX=runtime.totalCol, maxY=runtime.totalRow, wall={}, holes=runtime.holes, block=null, matrix=runtime.matrix, bigLoop=Math.max(col, row), freeArea=null, misBlock=null, fitWidth=col < row ? 1:0, lastBlock=null, smallLoop=Math.min(col, row); function fillMatrix(id, t, l, w, h){ for (var y=t; y < t + h;){ for (var x=l; x < l + w;){ matrix[y + '-' + x]=id; ++x > maxX&&(maxX=x); } ++y > maxY&&(maxY=y); }} for (var i in holes){ if(holes.hasOwnProperty(i)){ fillMatrix(holes[i]["id"]||true, holes[i]['top'], holes[i]['left'], holes[i]['width'], holes[i]['height']); }} var itemsVisible=[]; for (var i=0; i < items.length; ++i){ if(items[i].height!=0){ itemsVisible.push(items[i]); }} items=itemsVisible; for (var b=0; b < bigLoop; ++b){ if(!items.length) break; fitWidth ? (y=b):(x=b); lastBlock=null; for (var s=0; s < smallLoop; ++s){ if(!items.length) break; block=null; fitWidth ? (x=s):(y=s); if(runtime.matrix[y + '-' + x]) continue; freeArea=layoutManager.getFreeArea(y, x, runtime); if(setting.fixSize==null){ if(lastBlock&&!fitWidth&&runtime.minHoB > freeArea.height){ lastBlock.height +=freeArea.height; lastBlock.resize=true; fillMatrix(lastBlock.id, lastBlock.y, lastBlock.x, lastBlock.width, lastBlock.height); layoutManager.setBlock(lastBlock, setting); continue; }else if(lastBlock&&fitWidth&&runtime.minWoB > freeArea.width){ lastBlock.width +=freeArea.width; lastBlock.resize=true; fillMatrix(lastBlock.id, lastBlock.y, lastBlock.x, lastBlock.width, lastBlock.height); layoutManager.setBlock(lastBlock, setting); continue; }} if(runtime.keepOrder){ block=items.shift(); block.resize=true; }else{ for (var i=0; i < items.length; ++i){ if(items[i].height > freeArea.height) continue; if(items[i].width > freeArea.width) continue; block=items.splice(i, 1)[0]; break; } if(block==null&&setting.fixSize==null){ for (var i=0; i < items.length; ++i){ if(items[i]['fixSize']!=null) continue; block=items.splice(i, 1)[0]; block.resize=true; break; }} } if(block!=null){ if(block.resize){ if(fitWidth){ block.width=freeArea.width; if(setting.cellH=='auto'){ layoutManager.adjustBlock(block, setting); } block.height=Math.min(block.height, freeArea.height); }else{ block.height=freeArea.height; block.width=Math.min(block.width, freeArea.width); }} wall[block.id]={ id: block.id, x: x, y: y, width: block.width, height: block.height, resize: block.resize, fixSize: block.fixSize }; lastBlock=wall[block.id]; fillMatrix(lastBlock.id, lastBlock.y, lastBlock.x, lastBlock.width, lastBlock.height); layoutManager.setBlock(lastBlock, setting); }else{ var misBlock={ x: x, y: y, fixSize: 0 }; if(fitWidth){ misBlock.width=freeArea.width; misBlock.height=0; var lastX=x - 1; var lastY=y; while (matrix[lastY + '-' + lastX]){ matrix[lastY + '-' + x]=true; misBlock.height +=1; lastY +=1; }}else{ misBlock.height=freeArea.height; misBlock.width=0; var lastY=y - 1; var lastX=x; while (matrix[lastY + '-' + lastX]){ matrix[y + '-' + lastX]=true; misBlock.width +=1; lastX +=1; }} setting.onGapFound(layoutManager.setBlock(misBlock, setting), setting); }} } runtime.matrix=matrix; runtime.totalRow=maxY; runtime.totalCol=maxX; }}; function Freewall(selector){ var container=$(selector); if(container.css('position')=='static'){ container.css('position', 'relative'); } var MAX=Number.MAX_VALUE; var klass=this; layoutManager.totalGrid +=1; var setting=$.extend({}, layoutManager.defaultConfig); var runtime={ arguments: null, blocks: {}, events: {}, matrix: {}, holes: {}, cellW: 0, cellH: 0, cellS: 1, filter: '', lastId: 0, length: 0, maxWoB: 0, maxHoB: 0, minWoB: MAX, minHoB: MAX, running: 0, gutterX: 15, gutterY: 15, totalCol: 0, totalRow: 0, limitCol: 666666, limitRow: 666666, sortFunc: null, keepOrder: false }; setting.runtime=runtime; runtime.totalGrid=layoutManager.totalGrid; var bodyStyle=document.body.style; if(!layoutManager.transition){ (bodyStyle.webkitTransition!=null || bodyStyle.MozTransition!=null || bodyStyle.msTransition!=null || bodyStyle.OTransition!=null || bodyStyle.transition!=null) && (layoutManager.transition=true); } function setDraggable(item){ var gutterX=runtime.gutterX; var gutterY=runtime.gutterY; var cellH=runtime.cellH; var cellW=runtime.cellW; var $item=$(item); var handle=$item.find($item.attr("data-handle")); layoutManager.setDraggable(item, { handle: handle[0], onStart: function(event){ if(setting.animate&&layoutManager.transition){ layoutManager.setTransition(this, ""); } $item.css('z-index', 9999).addClass('fw-float'); setting.onBlockDrag.call(item, event); }, onDrag: function(event, tracker){ var position=$item.position(); var top=Math.round(position.top / cellH); var left=Math.round(position.left / cellW); var width=Math.round($item.width() / cellW); var height=Math.round($item.height() / cellH); top=Math.min(Math.max(0, top), runtime.limitRow - height); left=Math.min(Math.max(0, left), runtime.limitCol - width); klass.setHoles({top: top, left: left, width: width, height: height}); klass.refresh(); setting.onBlockMove.call(item, event); }, onDrop: function(event){ var position=$item.position(); var top=Math.round(position.top / cellH); var left=Math.round(position.left / cellW); var width=Math.round($item.width() / cellW); var height=Math.round($item.height() / cellH); top=Math.min(Math.max(0, top), runtime.limitRow - height); left=Math.min(Math.max(0, left), runtime.limitCol - width); $item.removeClass('fw-float'); $item.css({ zIndex: "auto", top: top * cellH, left: left * cellW }); var x, y, key, oldDropId; for (y=0; y < height; ++y){ for (x=0; x < width; ++x){ key=(y + top) + "-" + (x + left); oldDropId=runtime.matrix[key]; if(oldDropId&&oldDropId!=true){ $("#" + oldDropId).removeAttr("data-position"); }} } runtime.holes={}; $item.attr({ "data-width": $item.width(), "data-height": $item.height(), "data-position": top + "-" + left }); klass.refresh(); setting.onBlockDrop.call(item, event); }}); } $.extend(klass, { addCustomEvent: function(name, func){ var events=runtime.events; name=name.toLowerCase(); !events[name]&&(events[name]=[]); func.eid=events[name].length; events[name].push(func); return this; }, appendBlock: function(items){ var allBlock=$(items).appendTo(container); var block=null; var activeBlock=[]; if(runtime.arguments){ if($.isFunction(runtime.sortFunc)){ allBlock.sort(runtime.sortFunc); } allBlock.each(function(index, item){ item.index=++index; block=layoutManager.loadBlock(item, setting); block&&activeBlock.push(block); }); engine[setting.engine](activeBlock, setting); layoutManager.setWallSize(runtime, container); runtime.length=allBlock.length; allBlock.each(function(index, item){ layoutManager.showBlock(item, setting); if(setting.draggable||item.getAttribute('data-draggable')){ setDraggable(item); }}); }}, appendHoles: function(holes){ var newHoles=[].concat(holes), h={}, i; for (i=0; i < newHoles.length; ++i){ h=newHoles[i]; runtime.holes[h.top + "-" + h.left + "-" + h.width + "-" + h.height]=h; } return this; }, container: container, destroy: function(){ var allBlock=container.find(setting.selector).removeAttr('id'), block=null, activeBlock=[]; allBlock.each(function(index, item){ $item=$(item); var width=1 * $item.attr('data-width')||""; var height=1 * $item.attr('data-height')||""; $item.width(width).height(height).css({ position: 'static' }); }); }, fillHoles: function(holes){ if(arguments.length==0){ runtime.holes={};}else{ var newHoles=[].concat(holes), h={}, i; for (i=0; i < newHoles.length; ++i){ h=newHoles[i]; delete runtime.holes[h.top + "-" + h.left + "-" + h.width + "-" + h.height]; }} return this; }, filter: function(filter){ runtime.filter=filter; if(runtime.arguments){ this.refresh(); } return this; }, fireEvent: function(name, object, setting){ var events=runtime.events; name=name.toLowerCase(); if(events[name]&&events[name].length){ for (var i=0; i < events[name].length; ++i){ events[name][i].call(this, object, setting); }} return this; }, fitHeight: function(height){ var height=height ? height:container.height()||$W.height(); this.fitZone('auto', height); runtime.arguments=arguments; }, fitWidth: function(width){ var width=width ? width:container.width()||$W.width(); this.fitZone(width, 'auto'); runtime.arguments=arguments; }, fitZone: function(width, height){ var allBlock=container.find(setting.selector).removeAttr('id'), block=null, activeBlock=[]; height=height ? height:container.height()||$W.height(); width=width ? width:container.width()||$W.width(); runtime.arguments=arguments; layoutManager.resetGrid(runtime); layoutManager.adjustUnit(width, height, setting); if(runtime.filter){ allBlock.data('active', 0); allBlock.filter(runtime.filter).data('active', 1); }else{ allBlock.data('active', 1); } if($.isFunction(runtime.sortFunc)){ allBlock.sort(runtime.sortFunc); } allBlock.each(function(index, item){ var $item=$(item); item.index=++index; block=layoutManager.loadBlock(item, setting); block&&$item.data("active")&&activeBlock.push(block); }); klass.fireEvent('onGridReady', container, setting); engine[setting.engine](activeBlock, setting); layoutManager.setWallSize(runtime, container); klass.fireEvent('onGridArrange', container, setting); runtime.length=allBlock.length; allBlock.each(function(index, item){ layoutManager.showBlock(item, setting); if(setting.draggable||item.getAttribute('data-draggable')){ setDraggable(item); }}); }, fixPos: function(option){ $(option.block).attr({'data-position': option.top + "-" + option.left}); return this; }, fixSize: function(option){ option.height!=null&&$(option.block).attr({'data-height': option.height}); option.width!=null&&$(option.block).attr({'data-width': option.width}); return this; }, prepend: function(items){ container.prepend(items); if(runtime.arguments){ this.refresh(); } return this; }, refresh: function(){ var params=arguments.length ? arguments:runtime.arguments; var oldArg=runtime.arguments; var method=oldArg ? oldArg.callee:this.fitWidth; method.apply(this, Array.prototype.slice.call(params, 0)); return this; }, /* custom layout setting; example: wall.reset({ selector: '.brick', animate: true, cellW: 160, cellH: 160, delay: 50, onResize: function(){ wall.fitWidth(); }}); */ reset: function(option){ $.extend(setting, option); return this; }, setHoles: function(holes){ var newHoles=[].concat(holes), h={}, i; runtime.holes={}; for (i=0; i < newHoles.length; ++i){ h=newHoles[i]; runtime.holes[h.top + "-" + h.left + "-" + h.width + "-" + h.height]=h; } return this; }, /* sort items by using array sort function; example: wall.sortBy(function(itemA, itemB){ return $(itemA).width() - $(itemB).width(); }); */ sortBy: function(func){ runtime.sortFunc=func; if(runtime.arguments){ this.refresh(); } return this; }, unFilter: function(){ delete runtime.filter; this.refresh(); return this; }}); container.attr('data-min-width', Math.floor($W.width() / 80) * 80); for (var i in layoutManager.plugin){ if(layoutManager.plugin.hasOwnProperty(i)){ layoutManager.plugin[i].call(klass, setting, container); }} $W.resize(function(){ if(runtime.running) return; runtime.running=1; setTimeout(function(){ runtime.running=0; setting.onResize.call(klass, container); }, 122); container.attr('data-min-width', Math.floor($W.width() / 80) * 80); }); }; Freewall.addConfig=function(newConfig){ $.extend(layoutManager.defaultConfig, newConfig); }; /* support create new arrange algorithm; example: Freewall.createEngine({ slice: function(items, setting){ }}); */ Freewall.createEngine=function(engineData){ $.extend(engine, engineData); }; /* support create new plugin; example: Freewall.createPlugin({ centering: function(setting, container){ console.log(this); console.log(setting); }})l */ Freewall.createPlugin=function(pluginData){ $.extend(layoutManager.plugin, pluginData); }; Freewall.getMethod=function(method){ return layoutManager[method]; }; window.Freewall=window.freewall=Freewall; })(window.Zepto||window.jQuery); !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define("uikit",e):(t="undefined"!=typeof globalThis?globalThis:t||self).bdtUIkit=e()}(this,function(){"use strict";var t=Object.prototype,n=t.hasOwnProperty;function l(t,e){return n.call(t,e)}var e={},i=/([a-z\d])([A-Z])/g;function d(t){return t in e||(e[t]=t.replace(i,"$1-$2").toLowerCase()),e[t]}var r=/-(\w)/g;function f(t){return t.replace(r,o)}function o(t,e){return e?e.toUpperCase():""}function p(t){return t.length?o(0,t.charAt(0))+t.slice(1):""}var s=String.prototype,a=s.startsWith||function(t){return 0===this.lastIndexOf(t,0)};function w(t,e){return a.call(t,e)}var u=s.endsWith||function(t){return this.substr(-t.length)===t};function c(t,e){return u.call(t,e)}function h(t,e){return!!~this.indexOf(t,e)}var g=Array.prototype,m=s.includes||h,v=g.includes||h;function b(t,e){return t&&(z(t)?m:v).call(t,e)}var x=g.findIndex||function(t){for(var e=arguments,n=0;ne.left&&t.tope.top}function it(t,e){return t.x<=e.right&&t.x>=e.left&&t.y<=e.bottom&&t.y>=e.top}var rt={ratio:function(t,e,n){var i="width"===e?"height":"width",r={};return r[i]=t[e]?Math.round(n*t[i]/t[e]):t[i],r[e]=n,r},contain:function(n,i){var r=this;return K(n=G({},n),function(t,e){return n=n[e]>i[e]?r.ratio(n,e,i[e]):n}),n},cover:function(n,i){var r=this;return K(n=this.contain(n,i),function(t,e){return n=n[e]+~-]/,_t=/([!>+~-])(?=\s+[!>+~-]|\s*$)/g;function Ct(t){return z(t)&&t.match(Et)}var At=/.*?[^\\](?:,|$)/g;var Nt=ct?Element.prototype:{},Mt=Nt.matches||Nt.webkitMatchesSelector||Nt.msMatchesSelector||et;function Dt(t,e){return V(t).some(function(t){return Mt.call(t,e)})}var zt=Nt.closest||function(t){var e=this;do{if(Dt(e,t))return e}while(e=Pt(e))};function Bt(t,e){return w(e,">")&&(e=e.slice(1)),N(t)?zt.call(t,e):V(t).map(function(t){return Bt(t,e)}).filter(Boolean)}function Pt(t){return(t=W(t))&&N(t.parentNode)&&t.parentNode}var Ot=ct&&window.CSS&&CSS.escape||function(t){return t.replace(/([^\x7f-\uFFFF\w-])/g,function(t){return"\\"+t})};function Ht(t){return z(t)?Ot.call(null,t):""}var Lt={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,menuitem:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};function jt(t){return V(t).some(function(t){return Lt[t.tagName.toLowerCase()]})}function Ft(t){return V(t).some(function(t){return t.offsetWidth||t.offsetHeight||t.getClientRects().length})}var Wt="input,select,textarea,button";function Vt(t){return V(t).some(function(t){return Dt(t,Wt)})}function Rt(t,e){return V(t).filter(function(t){return Dt(t,e)})}function qt(t,e){return z(e)?Dt(t,e)||!!Bt(t,e):t===e||(_(e)?e.documentElement:W(e)).contains(W(t))}function Ut(t,e){for(var n=[];t=Pt(t);)e&&!Dt(t,e)||n.push(t);return n}function Yt(t,e){var n=(t=W(t))?V(t.children):[];return e?Rt(n,e):n}function Xt(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var n,i,r=Qt(t),o=r[0],s=r[1],a=r[2],u=r[3],c=r[4],o=ie(o);return 1]*>/,_e=/^<(\w+)\s*\/?>(?:<\/\1>)?$/;function Ce(t){var e=_e.exec(t);if(e)return document.createElement(e[1]);var n=document.createElement("div");return Ee.test(t)?n.insertAdjacentHTML("beforeend",t.trim()):n.textContent=t,1i[c]){var n=p[s]/2,r="center"===l[a]?-g[s]/2:0;return"center"===h[a]&&(o(n,r)||o(-n,-r))||o(t,e)}function o(e,t){var n=F((m[u]+e+t-2*d[a]).toFixed(4));if(n>=i[u]&&n+p[s]<=i[c])return m[u]=n,["element","target"].forEach(function(t){f[t][a]=e?f[t][a]===on[s][1]?on[s][2]:on[s][1]:f[t][a]}),!0}})})),an(t,m),f}function an(n,i){if(!i)return un(n);var r=un(n),o=Re(n,"position");["left","top"].forEach(function(t){var e;t in i&&(e=Re(n,t),Re(n,t,i[t]-r[t]+F("absolute"===o&&"auto"===e?cn(n)[t]:e)))})}function un(t){var e=R(t),n=e.pageYOffset,i=e.pageXOffset,r=E(t)?{height:ln(t),width:dn(t),top:0,left:0}:function(t){if(!t)return{};var e;Ft(t)||(e=ot(t,"style"),t.style.setProperty("display","block","important"));var n=t.getBoundingClientRect();return ot(t,"style",e),n}(W(t));return{height:r.height,width:r.width,top:r.top+n,left:r.left+i,bottom:r.top+r.height+n,right:r.left+r.width+i}}function cn(t,e){e=e||(W(t)||{}).offsetParent||R(t).document.documentElement;var n=an(t),i=an(e);return{top:n.top-i.top-F(Re(e,"borderTopWidth")),left:n.left-i.left-F(Re(e,"borderLeftWidth"))}}function hn(t){var e=[0,0];t=W(t);do{if(e[0]+=t.offsetTop,e[1]+=t.offsetLeft,"fixed"===Re(t,"position")){var n=R(t);return e[0]+=n.pageYOffset,e[1]+=n.pageXOffset,e}}while(t=t.offsetParent);return e}var ln=fn("height"),dn=fn("width");function fn(i){var r=p(i);return function(t,e){if(H(e)){if(E(t))return t["inner"+r];if(_(t)){var n=t.documentElement;return Math.max(n["offset"+r],n["scroll"+r])}return(e="auto"===(e=Re(t=W(t),i))?t["offset"+r]:F(e)||0)-pn(t,i)}Re(t,i,e||0===e?+e+pn(t,i)+"px":"")}}function pn(n,t,e){return void 0===e&&(e="border-box"),Re(n,"boxSizing")===e?on[t].slice(1).map(p).reduce(function(t,e){return t+F(Re(n,"padding"+e))+F(Re(n,"border"+e+"Width"))},0):0}function gn(o,s,a,u){K(on,function(t,e){var n=t[0],i=t[1],r=t[2];s[n]===r?o[i]+=a[e]*u:"center"===s[n]&&(o[i]+=a[e]*u/2)})}function mn(t){var e=/left|center|right/,n=/top|center|bottom/;return 1===(t=(t||"").split(" ")).length&&(t=e.test(t[0])?t.concat("center"):n.test(t[0])?["center"].concat(t):["center","center"]),{x:e.test(t[0])?t[0]:"center",y:n.test(t[1])?t[1]:"center"}}function vn(t,e,n){var i=(t||"").split(" "),r=i[0],o=i[1];return{x:r?F(r)*(c(r,"%")?e/100:1):0,y:o?F(o)*(c(o,"%")?n/100:1):0}}function wn(t){switch(t){case"left":return"right";case"right":return"left";case"top":return"bottom";case"bottom":return"top";default:return t}}function bn(t,e,n){return void 0===e&&(e="width"),void 0===n&&(n=window),P(t)?+t:c(t,"vh")?xn(ln(R(n)),t):c(t,"vw")?xn(dn(R(n)),t):c(t,"%")?xn(un(n)[e],t):F(t)}function xn(t,e){return t*F(e)/100}var yn={reads:[],writes:[],read:function(t){return this.reads.push(t),In(),t},write:function(t){return this.writes.push(t),In(),t},clear:function(t){return Tn(this.reads,t)||Tn(this.writes,t)},flush:kn};function kn(t){void 0===t&&(t=1),Sn(yn.reads),Sn(yn.writes.splice(0,yn.writes.length)),yn.scheduled=!1,(yn.reads.length||yn.writes.length)&&In(t+1)}var $n=4;function In(t){yn.scheduled||(yn.scheduled=!0,t&&t<$n?ae.resolve().then(function(){return kn(t)}):requestAnimationFrame(function(){return kn()}))}function Sn(t){for(var e;e=t.shift();)e()}function Tn(t,e){var n=t.indexOf(e);return!!~n&&!!t.splice(n,1)}function En(){}En.prototype={positions:[],init:function(){var e,t=this;this.positions=[],this.unbind=Xt(document,"mousemove",function(t){return e=oe(t)}),this.interval=setInterval(function(){e&&(t.positions.push(e),5Math.round(an(t).height)}).reverse();return i.length?i:[n]}function Gn(t){return t===Kn(t)?window:t}function Jn(t){return Xn(t,/auto|scroll|hidden/)}function Kn(t){var e=R(t).document;return e.scrollingElement||e.documentElement}var Zn=ct&&window.IntersectionObserver||function(){function t(e,t){var n=this;void 0===t&&(t={});var i=t.rootMargin;void 0===i&&(i="0 0"),this.targets=[];var r,o=(i||"0 0").split(" ").map(F),s=o[0],a=o[1];this.offsetTop=s,this.offsetLeft=a,this.apply=function(){r=r||requestAnimationFrame(function(){return setTimeout(function(){var t=n.takeRecords();t.length&&e(t,n),r=!1})})},this.off=Xt(window,"scroll resize load",this.apply,{passive:!0,capture:!0})}return t.prototype.takeRecords=function(){var n=this;return this.targets.filter(function(t){var e=Rn(t.target,n.offsetTop,n.offsetLeft);if(null===t.isIntersecting||e^t.isIntersecting)return t.isIntersecting=e,!0})},t.prototype.observe=function(t){this.targets.push({target:t,isIntersecting:null}),this.apply()},t.prototype.disconnect=function(){this.targets=[],this.off()},t}();function Qn(t){return!(!w(t,"bdt-")&&!w(t,"data-bdt-"))&&f(t.replace("data-bdt-","").replace("bdt-",""))}function ti(t){this._init(t)}var ei,ni,ii,ri,oi,si,ai,ui,ci;function hi(t,e){if(t)for(var n in t)t[n]._connected&&t[n]._callUpdate(e)}function li(t,e){var n={},i=t.args;void 0===i&&(i=[]);var r=t.props;void 0===r&&(r={});var o,s=t.el;if(!r)return n;for(o in r){var a=d(o),u=ut(s,a);H(u)||(u=r[o]===Boolean&&""===u||fi(r[o],u),("target"!==a||u&&!w(u,"_"))&&(n[o]=u))}var c,h=Mn(ut(s,e),i);for(c in h){var l=f(c);void 0!==r[l]&&(n[l]=fi(r[l],h[c]))}return n}function di(e,n,i){T(n)||(n={name:i,handler:n});var t=n.name,r=n.el,o=n.handler,s=n.capture,a=n.passive,u=n.delegate,c=n.filter,h=n.self,r=$(r)?r.call(e):r||e.$el;k(r)?r.forEach(function(t){return di(e,G({},n,{el:t}),i)}):!r||c&&!c.call(e)||e._events.push(Xt(r,t,u?z(u)?u:u.call(e):null,z(o)?e[o]:o.bind(e),{passive:a,capture:s,self:h}))}function fi(t,e){return t===Boolean?L(e):t===Number?j(e):"list"===t?q(e):t?t(e):e}ti.util=Object.freeze({__proto__:null,ajax:de,getImage:fe,transition:Ze,Transition:Qe,animate:en,Animation:rn,attr:ot,hasAttr:st,removeAttr:at,data:ut,addClass:ze,removeClass:Be,removeClasses:Pe,replaceClass:Oe,hasClass:He,toggleClass:Le,positionAt:sn,offset:an,position:cn,offsetPosition:hn,height:ln,width:dn,boxModelAdjust:pn,flipPosition:wn,toPx:bn,ready:pe,index:ge,getIndex:me,empty:ve,html:we,prepend:function(e,t){return(e=Ne(e)).hasChildNodes()?ke(t,function(t){return e.insertBefore(t,e.firstChild)}):be(e,t)},append:be,before:xe,after:ye,remove:$e,wrapAll:Ie,wrapInner:Se,unwrap:Te,fragment:Ce,apply:Ae,$:Ne,$$:Me,inBrowser:ct,isIE:ht,isRtl:lt,hasTouch:pt,pointerDown:gt,pointerMove:mt,pointerUp:vt,pointerEnter:wt,pointerLeave:bt,pointerCancel:xt,on:Xt,off:Gt,once:Jt,trigger:Kt,createEvent:Zt,toEventTargets:ie,isTouch:re,getEventPos:oe,fastdom:yn,isVoidElement:jt,isVisible:Ft,selInput:Wt,isInput:Vt,filter:Rt,within:qt,parents:Ut,children:Yt,hasOwn:l,hyphenate:d,camelize:f,ucfirst:p,startsWith:w,endsWith:c,includes:b,findIndex:y,isArray:k,isFunction:$,isObject:I,isPlainObject:T,isWindow:E,isDocument:_,isJQuery:C,isNode:A,isElement:N,isNodeCollection:M,isBoolean:D,isString:z,isNumber:B,isNumeric:P,isEmpty:O,isUndefined:H,toBoolean:L,toNumber:j,toFloat:F,toNode:W,toNodes:V,toWindow:R,toList:q,toMs:U,isEqual:Y,swap:X,assign:G,last:J,each:K,sortBy:Z,uniqueBy:Q,clamp:tt,noop:et,intersectRect:nt,pointInRect:it,Dimensions:rt,MouseTracker:En,mergeOptions:Nn,parseOptions:Mn,play:Dn,pause:zn,mute:Bn,Promise:ae,Deferred:se,IntersectionObserver:Zn,query:yt,queryAll:kt,find:It,findAll:St,matches:Dt,closest:Bt,parent:Pt,escape:Ht,css:Re,getStyles:qe,getStyle:Ue,getCssVar:Xe,propName:Je,isInView:Rn,scrollTop:qn,scrollIntoView:Un,scrolledOver:Yn,scrollParents:Xn,getViewport:Gn}),ti.data="__uikit__",ti.prefix="bdt-",ti.options={},ti.version="3.5.9",ii=(ei=ti).data,ei.use=function(t){if(!t.installed)return t.call(null,this),t.installed=!0,this},ei.mixin=function(t,e){(e=(z(e)?ei.component(e):e)||this).options=Nn(e.options,t)},ei.extend=function(t){t=t||{};function e(t){this._init(t)}return((e.prototype=Object.create(this.prototype)).constructor=e).options=Nn(this.options,t),e.super=this,e.extend=this.extend,e},ei.update=function(t,e){Ut(t=t?W(t):document.body).reverse().forEach(function(t){return hi(t[ii],e)}),Ae(t,function(t){return hi(t[ii],e)})},Object.defineProperty(ei,"container",{get:function(){return ni||document.body},set:function(t){ni=Ne(t)}}),(ri=ti).prototype._callHook=function(t){var e=this,n=this.$options[t];n&&n.forEach(function(t){return t.call(e)})},ri.prototype._callConnected=function(){this._connected||(this._data={},this._computeds={},this._frames={reads:{},writes:{}},this._initProps(),this._callHook("beforeConnect"),this._connected=!0,this._initEvents(),this._initObserver(),this._callHook("connected"),this._callUpdate())},ri.prototype._callDisconnected=function(){this._connected&&(this._callHook("beforeDisconnect"),this._observer&&(this._observer.disconnect(),this._observer=null),this._unbindEvents(),this._callHook("disconnected"),this._connected=!1)},ri.prototype._callUpdate=function(t){var o=this;void 0===t&&(t="update");var s=t.type||t;b(["update","resize"],s)&&this._callWatches();var e=this.$options.update,n=this._frames,a=n.reads,u=n.writes;e&&e.forEach(function(t,e){var n=t.read,i=t.write,r=t.events;"update"!==s&&!b(r,s)||(n&&!b(yn.reads,a[e])&&(a[e]=yn.read(function(){var t=o._connected&&n.call(o,o._data,s);!1===t&&i?yn.clear(u[e]):T(t)&&G(o._data,t)})),i&&!b(yn.writes,u[e])&&(u[e]=yn.write(function(){return o._connected&&i.call(o,o._data,s)})))})},ri.prototype._callWatches=function(){var u,c=this,h=this._frames;h._watch||(u=!l(h,"_watch"),h._watch=yn.read(function(){if(c._connected){var t,e=c.$options.computed,n=c._computeds;for(t in e){var i=l(n,t),r=n[t];delete n[t];var o=e[t],s=o.watch,a=o.immediate;s&&(u&&a||i&&!Y(r,c[t]))&&s.call(c,c[t],r)}h._watch=null}}))},si=0,(oi=ti).prototype._init=function(t){(t=t||{}).data=function(t,e){var n=t.data,i=(t.el,e.args),r=e.props;void 0===r&&(r={});if(n=k(n)?O(i)?void 0:n.slice(0,i.length).reduce(function(t,e,n){return T(e)?G(t,e):t[i[n]]=e,t},{}):n)for(var o in n)H(n[o])?delete n[o]:n[o]=r[o]?fi(r[o],n[o]):n[o];return n}(t,this.constructor.options),this.$options=Nn(this.constructor.options,t,this),this.$el=null,this.$props={},this._uid=si++,this._initData(),this._initMethods(),this._initComputeds(),this._callHook("created"),t.el&&this.$mount(t.el)},oi.prototype._initData=function(){var t,e=this.$options.data;for(t in void 0===e&&(e={}),e)this.$props[t]=this[t]=e[t]},oi.prototype._initMethods=function(){var t=this.$options.methods;if(t)for(var e in t)this[e]=t[e].bind(this)},oi.prototype._initComputeds=function(){var t=this.$options.computed;if(this._computeds={},t)for(var e in t)!function(i,r,o){Object.defineProperty(i,r,{enumerable:!0,get:function(){var t=i._computeds,e=i.$props,n=i.$el;return l(t,r)||(t[r]=(o.get||o).call(i,e,n)),t[r]},set:function(t){var e=i._computeds;e[r]=o.set?o.set.call(i,t):t,H(e[r])&&delete e[r]}})}(this,e,t[e])},oi.prototype._initProps=function(t){for(var e in t=t||li(this.$options,this.$name))H(t[e])||(this.$props[e]=t[e]);var n=[this.$options.computed,this.$options.methods];for(e in this.$props)e in t&&function(t,e){return t.every(function(t){return!t||!l(t,e)})}(n,e)&&(this[e]=this.$props[e])},oi.prototype._initEvents=function(){var n=this;this._events=[];var t=this.$options.events;t&&t.forEach(function(t){if(l(t,"handler"))di(n,t);else for(var e in t)di(n,t[e],e)})},oi.prototype._unbindEvents=function(){this._events.forEach(function(t){return t()}),delete this._events},oi.prototype._initObserver=function(){var t,r=this,e=this.$options,o=e.attrs,n=e.props,i=e.el;!this._observer&&n&&!1!==o&&(o=k(o)?o:Object.keys(n),this._observer=new MutationObserver(function(t){var i=li(r.$options,r.$name);t.some(function(t){var e=t.attributeName,n=e.replace("data-","");return(n===r.$name?o:[f(n),f(e)]).some(function(t){return!H(i[t])&&i[t]!==r.$props[t]})})&&r.$reset()}),t=o.map(d).concat(this.$name),this._observer.observe(i,{attributes:!0,attributeFilter:t.concat(t.map(function(t){return"data-"+t}))}))},ui=(ai=ti).data,ci={},ai.component=function(s,t){var e=d(s);if(s=f(e),!t)return T(ci[s])&&(ci[s]=ai.extend(ci[s])),ci[s];ai[s]=function(t,n){for(var e=arguments.length,i=Array(e);e--;)i[e]=arguments[e];var r=ai.component(s);return r.options.functional?new r({data:T(t)?t:[].concat(i)}):t?Me(t).map(o)[0]:o(t);function o(t){var e=ai.getComponent(t,s);if(e){if(!n)return e;e.$destroy()}return new r({el:t,data:n})}};var n=T(t)?G({},t):t.options;return n.name=s,n.install&&n.install(ai,n,s),ai._initialized&&!n.functional&&yn.read(function(){return ai[s]("[bdt-"+e+"],[data-bdt-"+e+"]")}),ci[s]=T(t)?n:t},ai.getComponents=function(t){return t&&t[ui]||{}},ai.getComponent=function(t,e){return ai.getComponents(t)[e]},ai.connect=function(t){if(t[ui])for(var e in t[ui])t[ui][e]._callConnected();for(var n=0;n *",active:!1,animation:[!0],collapsible:!0,multiple:!1,clsOpen:"bdt-open",toggle:"> .bdt-accordion-title",content:"> .bdt-accordion-content",transition:"ease",offset:0},computed:{items:{get:function(t,e){return Me(t.targets,e)},watch:function(t,e){var n,i=this;t.forEach(function(t){return wi(Ne(i.content,t),!He(t,i.clsOpen))}),e||He(t,this.clsOpen)||(n=!1!==this.active&&t[Number(this.active)]||!this.collapsible&&t[0])&&this.toggle(n,!1)},immediate:!0}},events:[{name:"click",delegate:function(){return this.targets+" "+this.$props.toggle},handler:function(t){t.preventDefault(),this.toggle(ge(Me(this.targets+" "+this.$props.toggle,this.$el),t.current))}}],methods:{toggle:function(t,r){var o=this,e=[this.items[me(t,this.items)]],n=Rt(this.items,"."+this.clsOpen);this.multiple||b(n,e[0])||(e=e.concat(n)),!this.collapsible&&n.length<2&&!Rt(e,":not(."+this.clsOpen+")").length||e.forEach(function(t){return o.toggleElement(t,!He(t,o.clsOpen),function(e,n){Le(e,o.clsOpen,n);var i=Ne((e._wrapper?"> * ":"")+o.content,e);if(!1!==r&&o.hasTransition)return e._wrapper||(e._wrapper=Ie(i,"")),wi(i,!1),mi(o)(e._wrapper,n).then(function(){var t;wi(i,!n),delete e._wrapper,Te(i),n&&(Rn(t=Ne(o.$props.toggle,e))||Un(t,{offset:o.offset}))});wi(i,!n)})})}}};function wi(t,e){t&&(t.hidden=e)}var bi={mixins:[pi,gi],args:"animation",props:{close:String},data:{animation:[!0],selClose:".bdt-alert-close",duration:150,hideProps:G({opacity:0},gi.data.hideProps)},events:[{name:"click",delegate:function(){return this.selClose},handler:function(t){t.preventDefault(),this.close()}}],methods:{close:function(){var t=this;this.toggleElement(this.$el).then(function(){return t.$destroy(!0)})}}},xi={args:"autoplay",props:{automute:Boolean,autoplay:Boolean},data:{automute:!1,autoplay:!0},computed:{inView:function(t){return"inview"===t.autoplay}},connected:function(){this.inView&&!st(this.$el,"preload")&&(this.$el.preload="none"),this.automute&&Bn(this.$el)},update:{read:function(){return{visible:Ft(this.$el)&&"hidden"!==Re(this.$el,"visibility"),inView:this.inView&&Rn(this.$el)}},write:function(t){var e=t.visible,n=t.inView;!e||this.inView&&!n?zn(this.$el):(!0===this.autoplay||this.inView&&n)&&Dn(this.$el)},events:["resize","scroll"]}},yi={mixins:[pi,xi],props:{width:Number,height:Number},data:{automute:!0},update:{read:function(){var t=this.$el,e=function(t){for(;t=Pt(t);)if("static"!==Re(t,"position"))return t}(t)||t.parentNode,n=e.offsetHeight,i=e.offsetWidth,r=rt.cover({width:this.width||t.naturalWidth||t.videoWidth||t.clientWidth,height:this.height||t.naturalHeight||t.videoHeight||t.clientHeight},{width:i+(i%2?1:0),height:n+(n%2?1:0)});return!(!r.width||!r.height)&&r},write:function(t){var e=t.height,n=t.width;Re(this.$el,{height:e,width:n})},events:["resize"]}};var ki,$i={props:{pos:String,offset:null,flip:Boolean,clsPos:String},data:{pos:"bottom-"+(lt?"right":"left"),flip:!0,offset:!1,clsPos:""},computed:{pos:function(t){var e=t.pos;return(e+(b(e,"-")?"":"-center")).split("-")},dir:function(){return this.pos[0]},align:function(){return this.pos[1]}},methods:{positionAt:function(t,e,n){var i;Pe(t,this.clsPos+"-(top|bottom|left|right)(-[a-z]+)?");var r=this.offset,o=this.getAxis();P(r)||(r=(i=Ne(r))?an(i)["x"===o?"left":"top"]-an(e)["x"===o?"right":"bottom"]:0);var s=sn(t,e,"x"===o?wn(this.dir)+" "+this.align:this.align+" "+wn(this.dir),"x"===o?this.dir+" "+this.align:this.align+" "+this.dir,"x"===o?""+("left"===this.dir?-r:r):" "+("top"===this.dir?-r:r),null,this.flip,n).target,a=s.x,u=s.y;this.dir="x"===o?a:u,this.align="x"===o?u:a,Le(t,this.clsPos+"-"+this.dir+"-"+this.align,!1===this.offset)},getAxis:function(){return"top"===this.dir||"bottom"===this.dir?"y":"x"}}},Ii={mixins:[$i,gi],args:"pos",props:{mode:"list",toggle:Boolean,boundary:Boolean,boundaryAlign:Boolean,delayShow:Number,delayHide:Number,clsDrop:String},data:{mode:["click","hover"],toggle:"- *",boundary:ct&&window,boundaryAlign:!1,delayShow:0,delayHide:800,clsDrop:!1,animation:["bdt-animation-fade"],cls:"bdt-open"},computed:{boundary:function(t,e){return yt(t.boundary,e)},clsDrop:function(t){return t.clsDrop||"bdt-"+this.$options.name},clsPos:function(){return this.clsDrop}},created:function(){this.tracker=new En},connected:function(){ze(this.$el,this.clsDrop);var t=this.$props.toggle;this.toggle=t&&this.$create("toggle",yt(t,this.$el),{target:this.$el,mode:this.mode}),this.toggle||Kt(this.$el,"updatearia")},disconnected:function(){this.isActive()&&(ki=null)},events:[{name:"click",delegate:function(){return"."+this.clsDrop+"-close"},handler:function(t){t.preventDefault(),this.hide(!1)}},{name:"click",delegate:function(){return'a[href^="#"]'},handler:function(t){var e=t.defaultPrevented,n=t.current.hash;e||!n||qt(n,this.$el)||this.hide(!1)}},{name:"beforescroll",handler:function(){this.hide(!1)}},{name:"toggle",self:!0,handler:function(t,e){t.preventDefault(),this.isToggled()?this.hide(!1):this.show(e,!1)}},{name:"toggleshow",self:!0,handler:function(t,e){t.preventDefault(),this.show(e)}},{name:"togglehide",self:!0,handler:function(t){t.preventDefault(),this.hide()}},{name:wt,filter:function(){return b(this.mode,"hover")},handler:function(t){re(t)||this.clearTimers()}},{name:bt,filter:function(){return b(this.mode,"hover")},handler:function(t){!re(t)&&t.relatedTarget&&this.hide()}},{name:"toggled",self:!0,handler:function(){this.isToggled()&&(this.clearTimers(),this.position())}},{name:"show",self:!0,handler:function(){var o=this;(ki=this).tracker.init(),Kt(this.$el,"updatearia"),Jt(this.$el,"hide",Xt(document,gt,function(t){var r=t.target;return!qt(r,o.$el)&&Jt(document,vt+" "+xt+" scroll",function(t){var e=t.defaultPrevented,n=t.type,i=t.target;e||n!==vt||r!==i||o.toggle&&qt(r,o.toggle.$el)||o.hide(!1)},!0)}),{self:!0}),Jt(this.$el,"hide",Xt(document,"keydown",function(t){27===t.keyCode&&(t.preventDefault(),o.hide(!1))}),{self:!0})}},{name:"beforehide",self:!0,handler:function(){this.clearTimers()}},{name:"hide",handler:function(t){var e=t.target;this.$el===e?(ki=this.isActive()?null:ki,Kt(this.$el,"updatearia"),this.tracker.cancel()):ki=null===ki&&qt(e,this.$el)&&this.isToggled()?this:ki}},{name:"updatearia",self:!0,handler:function(t,e){t.preventDefault(),this.updateAria(this.$el),(e||this.toggle)&&(ot((e||this.toggle).$el,"aria-expanded",this.isToggled()),Le(this.toggle.$el,this.cls,this.isToggled()))}}],update:{write:function(){this.isToggled()&&!rn.inProgress(this.$el)&&this.position()},events:["resize"]},methods:{show:function(t,e){var n,i=this;if(void 0===t&&(t=this.toggle),void 0===e&&(e=!0),this.isToggled()&&t&&this.toggle&&t.$el!==this.toggle.$el&&this.hide(!1),this.toggle=t,this.clearTimers(),!this.isActive()){if(ki){if(e&&ki.isDelaying)return void(this.showTimer=setTimeout(this.show,10));for(;ki&&n!==ki&&!qt(this.$el,ki.$el);)(n=ki).hide(!1)}this.showTimer=setTimeout(function(){return!i.isToggled()&&i.toggleElement(i.$el,!0)},e&&this.delayShow||0)}},hide:function(t){var e=this;void 0===t&&(t=!0);function n(){return e.toggleElement(e.$el,!1,!1)}var i,r;this.clearTimers(),this.isDelaying=(i=this.$el,r=[],Ae(i,function(t){return"static"!==Re(t,"position")&&r.push(t)}),r.some(function(t){return e.tracker.movesTo(t)})),t&&this.isDelaying?this.hideTimer=setTimeout(this.hide,50):t&&this.delayHide?this.hideTimer=setTimeout(n,this.delayHide):n()},clearTimers:function(){clearTimeout(this.showTimer),clearTimeout(this.hideTimer),this.showTimer=null,this.hideTimer=null,this.isDelaying=!1},isActive:function(){return ki===this},position:function(){Be(this.$el,this.clsDrop+"-stack"),Le(this.$el,this.clsDrop+"-boundary",this.boundaryAlign);var t,e=an(this.boundary),n=this.boundaryAlign?e:an(this.toggle.$el);"justify"===this.align?(t="y"===this.getAxis()?"width":"height",Re(this.$el,t,n[t])):this.$el.offsetWidth>Math.max(e.right-n.left,n.right-e.left)&&ze(this.$el,this.clsDrop+"-stack"),this.positionAt(this.$el,this.boundaryAlign?this.boundary:this.toggle.$el,this.boundary)}}};var Si={mixins:[pi],args:"target",props:{target:Boolean},data:{target:!1},computed:{input:function(t,e){return Ne(Wt,e)},state:function(){return this.input.nextElementSibling},target:function(t,e){var n=t.target;return n&&(!0===n&&this.input.parentNode===e&&this.input.nextElementSibling||yt(n,e))}},update:function(){var t,e,n,i=this.target,r=this.input;!i||i[e=Vt(i)?"value":"textContent"]!==(n=r.files&&r.files[0]?r.files[0].name:Dt(r,"select")&&(t=Me("option",r).filter(function(t){return t.selected})[0])?t.textContent:r.value)&&(i[e]=n)},events:[{name:"change",handler:function(){this.$update()}},{name:"reset",el:function(){return Bt(this.$el,"form")},handler:function(){this.$update()}}]},Ti={update:{read:function(t){var e=Rn(this.$el);if(!e||t.isInView===e)return!1;t.isInView=e},write:function(){this.$el.src=""+this.$el.src},events:["scroll","resize"]}},Ei={props:{margin:String,firstColumn:Boolean},data:{margin:"bdt-margin-small-top",firstColumn:"bdt-first-column"},update:{read:function(){var n,t=_i(this.$el.children);return{rows:t,columns:(n=[[]],t.forEach(function(t){return Ci(t,"left","right").forEach(function(t,e){return n[e]=n[e]?n[e].concat(t):t})}),lt?n.reverse():n)}},write:function(t){var n=this,i=t.columns;t.rows.forEach(function(t,e){return t.forEach(function(t){Le(t,n.margin,0!==e),Le(t,n.firstColumn,b(i[0],t))})})},events:["resize"]}};function _i(t){return Ci(t,"top","bottom")}function Ci(t,e,n){for(var i=[[]],r=0;r=c[n]-1&&s[e]!==c[e]){i.push([o]);break}if(s[n]-1>c[e]||s[e]===c[e]){u.push(o);break}if(0===a){i.unshift([o]);break}}}return i}function Ai(t,e){var n;void 0===e&&(e=!1);var i=t.offsetTop,r=t.offsetLeft,o=t.offsetHeight,s=t.offsetWidth;return e&&(i=(n=hn(t))[0],r=n[1]),{top:i,left:r,bottom:i+o,right:r+s}}var Ni={extends:Ei,mixins:[pi],name:"grid",props:{masonry:Boolean,parallax:Number},data:{margin:"bdt-grid-margin",clsStack:"bdt-grid-stack",masonry:!1,parallax:0},connected:function(){this.masonry&&ze(this.$el,"bdt-flex-top bdt-flex-wrap-top")},update:[{write:function(t){var e=t.columns;Le(this.$el,this.clsStack,e.length<2)},events:["resize"]},{read:function(t){var e=t.columns,n=t.rows,i=Yt(this.$el);if(!i.length||!this.masonry&&!this.parallax)return!1;var r,o,s,a,u,c=i.some(Qe.inProgress),h=!1,l=e.map(function(t){return t.reduce(function(t,e){return t+e.offsetHeight},0)}),d=(r=i,o=this.margin,F((s=r.filter(function(t){return He(t,o)})[0])?Re(s,"marginTop"):Re(r[0],"paddingLeft"))*(n.length-1)),f=Math.max.apply(Math,l)+d;this.masonry&&(e=e.map(function(t){return Z(t,"offsetTop")}),a=e,u=n.map(function(t){return Math.max.apply(Math,t.map(function(t){return t.offsetHeight}))}),h=a.map(function(n){var i=0;return n.map(function(t,e){return i+=e?u[e-1]-n[e-1].offsetHeight:0})}));var p=Math.abs(this.parallax);return{padding:p=p&&l.reduce(function(t,e,n){return Math.max(t,e+d+(n%2?p:p/8)-f)},0),columns:e,translates:h,height:!c&&(this.masonry?f:"")}},write:function(t){var e=t.height,n=t.padding;Re(this.$el,"paddingBottom",n||""),!1!==e&&Re(this.$el,"height",e)},events:["resize"]},{read:function(t){var e=t.height;return{scrolled:!!this.parallax&&Yn(this.$el,e?e-ln(this.$el):0)*Math.abs(this.parallax)}},write:function(t){var e=t.columns,i=t.scrolled,r=t.translates;!1===i&&!r||e.forEach(function(t,n){return t.forEach(function(t,e){return Re(t,"transform",i||r?"translateY("+((r&&-r[n][e])+(i?n%2?i:i/8:0))+"px)":"")})})},events:["scroll","resize"]}]};var Mi=ht?{props:{selMinHeight:String},data:{selMinHeight:!1,forceHeight:!1},computed:{elements:function(t,e){var n=t.selMinHeight;return n?Me(n,e):[e]}},update:[{read:function(){Re(this.elements,"height","")},order:-5,events:["resize"]},{write:function(){var n=this;this.elements.forEach(function(t){var e=F(Re(t,"minHeight"));e&&(n.forceHeight||Math.round(e+pn(t,"height","content-box"))>=t.offsetHeight)&&Re(t,"height",e)})},order:5,events:["resize"]}]}:{},Di={mixins:[Mi],args:"target",props:{target:String,row:Boolean},data:{target:"> *",row:!0,forceHeight:!0},computed:{elements:function(t,e){return Me(t.target,e)}},update:{read:function(){return{rows:(this.row?_i(this.elements):[this.elements]).map(zi)}},write:function(t){t.rows.forEach(function(t){var n=t.heights;return t.elements.forEach(function(t,e){return Re(t,"minHeight",n[e])})})},events:["resize"]}};function zi(t){var e;if(t.length<2)return{heights:[""],elements:t};var n=Bi(t),i=n.heights,r=n.max,o=t.some(function(t){return t.style.minHeight}),s=t.some(function(t,e){return!t.style.minHeight&&i[e]"}return Fi[t][e]}(t,e)||t);return(t=Ne(t.substr(t.indexOf("/g,Fi={};function Wi(t){return Math.ceil(Math.max.apply(Math,[0].concat(Me("[stroke]",t).map(function(t){try{return t.getTotalLength()}catch(t){return 0}}))))}function Vi(t,e){return ot(t,"data-svg")===ot(e,"data-svg")}var Ri={spinner:'',totop:'',marker:'',"close-icon":'',"close-large":'',"navbar-toggle-icon":'',"overlay-icon":'',"pagination-next":'',"pagination-previous":'',"search-icon":'',"search-large":'',"search-navbar":'',"slidenav-next":'',"slidenav-next-large":'',"slidenav-previous":'',"slidenav-previous-large":''},qi={install:function(r){r.icon.add=function(t,e){var n,i=z(t)?((n={})[t]=e,n):t;K(i,function(t,e){Ri[e]=t,delete Ki[e]}),r._initialized&&Ae(document.body,function(t){return K(r.getComponents(t),function(t){t.$options.isIcon&&t.icon in i&&t.$reset()})})}},extends:Hi,args:"icon",props:["icon"],data:{include:["focusable"]},isIcon:!0,beforeConnect:function(){ze(this.$el,"bdt-icon")},methods:{getSvg:function(){var t=function(t){if(!Ri[t])return null;Ki[t]||(Ki[t]=Ne((Ri[function(t){return lt?X(X(t,"left","right"),"previous","next"):t}(t)]||Ri[t]).trim()));return Ki[t].cloneNode(!0)}(this.icon);return t?ae.resolve(t):ae.reject("Icon not found.")}}},Ui={args:!1,extends:qi,data:function(t){return{icon:d(t.constructor.options.name)}},beforeConnect:function(){ze(this.$el,this.$name)}},Yi={extends:Ui,beforeConnect:function(){ze(this.$el,"bdt-slidenav")},computed:{icon:function(t,e){var n=t.icon;return He(e,"bdt-slidenav-large")?n+"-large":n}}},Xi={extends:Ui,computed:{icon:function(t,e){var n=t.icon;return He(e,"bdt-search-icon")&&Ut(e,".bdt-search-large").length?"search-large":Ut(e,".bdt-search-navbar").length?"search-navbar":n}}},Gi={extends:Ui,computed:{icon:function(){return"close-"+(He(this.$el,"bdt-close-large")?"large":"icon")}}},Ji={extends:Ui,connected:function(){var e=this;this.svg.then(function(t){return 1!==e.ratio&&Re(Ne("circle",t),"strokeWidth",1/e.ratio)},et)}},Ki={};var Zi={args:"dataSrc",props:{dataSrc:String,dataSrcset:Boolean,sizes:String,width:Number,height:Number,offsetTop:String,offsetLeft:String,target:String},data:{dataSrc:"",dataSrcset:!1,sizes:!1,width:!1,height:!1,offsetTop:"50vh",offsetLeft:0,target:!1},computed:{cacheKey:function(t){var e=t.dataSrc;return this.$name+"."+e},width:function(t){var e=t.width,n=t.dataWidth;return e||n},height:function(t){var e=t.height,n=t.dataHeight;return e||n},sizes:function(t){var e=t.sizes,n=t.dataSizes;return e||n},isImg:function(t,e){return or(e)},target:{get:function(t){var e=t.target;return[this.$el].concat(kt(e,this.$el))},watch:function(){this.observe()}},offsetTop:function(t){return bn(t.offsetTop,"height")},offsetLeft:function(t){return bn(t.offsetLeft,"width")}},connected:function(){ar[this.cacheKey]?Qi(this.$el,ar[this.cacheKey],this.dataSrcset,this.sizes):this.isImg&&this.width&&this.height&&Qi(this.$el,function(t,e,n){var i;n&&(i=rt.ratio({width:t,height:e},"width",bn(er(n))),t=i.width,e=i.height);return'data:image/svg+xml;utf8,'}(this.width,this.height,this.sizes)),this.observer=new Zn(this.load,{rootMargin:this.offsetTop+"px "+this.offsetLeft+"px"}),requestAnimationFrame(this.observe)},disconnected:function(){this.observer.disconnect()},update:{read:function(t){var e=this,n=t.image;if(n||"complete"!==document.readyState||this.load(this.observer.takeRecords()),this.isImg)return!1;n&&n.then(function(t){return t&&""!==t.currentSrc&&Qi(e.$el,sr(t))})},write:function(t){var e,n,i,r,o;this.dataSrcset&&1!==window.devicePixelRatio&&(!(e=Re(this.$el,"backgroundSize")).match(/^(auto\s?)+$/)&&F(e)!==t.bgSize||(t.bgSize=(n=this.dataSrcset,i=this.sizes,r=bn(er(i)),(o=(n.match(rr)||[]).map(F).sort(function(t,e){return t-e})).filter(function(t){return r<=t})[0]||o.pop()||""),Re(this.$el,"backgroundSize",t.bgSize+"px")))},events:["resize"]},methods:{load:function(t){var e=this;t.some(function(t){return H(t.isIntersecting)||t.isIntersecting})&&(this._data.image=fe(this.dataSrc,this.dataSrcset,this.sizes).then(function(t){return Qi(e.$el,sr(t),t.srcset,t.sizes),ar[e.cacheKey]=sr(t),t},function(t){return Kt(e.$el,new t.constructor(t.type,t))}),this.observer.disconnect())},observe:function(){var e=this;this._connected&&!this._data.image&&this.target.forEach(function(t){return e.observer.observe(t)})}}};function Qi(t,e,n,i){or(t)?(i&&(t.sizes=i),n&&(t.srcset=n),e&&(t.src=e)):e&&!b(t.style.backgroundImage,e)&&(Re(t,"backgroundImage","url("+Ht(e)+")"),Kt(t,Zt("load",!1)))}var tr=/\s*(.*?)\s*(\w+|calc\(.*?\))\s*(?:,|$)/g;function er(t){var e,n;for(tr.lastIndex=0;e=tr.exec(t);)if(!e[1]||window.matchMedia(e[1]).matches){e=w(n=e[2],"calc")?n.substring(5,n.length-1).replace(nr,function(t){return bn(t)}).replace(/ /g,"").match(ir).reduce(function(t,e){return t+ +e},0):n;break}return e||"100vw"}var nr=/\d+(?:\w+|%)/g,ir=/[+-]?(\d+)/g;var rr=/\s+\d+w\s*(?:,|$)/g;function or(t){return"IMG"===t.tagName}function sr(t){return t.currentSrc||t.src}var ar,ur="__test__";try{(ar=window.sessionStorage||{})[ur]=1,delete ar[ur]}catch(t){ar={}}var cr={props:{media:Boolean},data:{media:!1},computed:{matchMedia:function(){var t=function(t){if(z(t)){if("@"===t[0])t=F(Xe("breakpoint-"+t.substr(1)));else if(isNaN(t))return t}return!(!t||isNaN(t))&&"(min-width: "+t+"px)"}(this.media);return!t||window.matchMedia(t).matches}}};var hr={mixins:[pi,cr],props:{fill:String},data:{fill:"",clsWrapper:"bdt-leader-fill",clsHide:"bdt-leader-hide",attrFill:"data-fill"},computed:{fill:function(t){return t.fill||Xe("leader-fill-content")}},connected:function(){var t=Se(this.$el,'');this.wrapper=t[0]},disconnected:function(){Te(this.wrapper.childNodes)},update:{read:function(t){var e=t.changed,n=t.width,i=n;return{width:n=Math.floor(this.$el.offsetWidth/2),fill:this.fill,changed:e||i!==n,hide:!this.matchMedia}},write:function(t){Le(this.wrapper,this.clsHide,t.hide),t.changed&&(t.changed=!1,ot(this.wrapper,this.attrFill,new Array(t.width).join(t.fill)))},events:["resize"]}},lr={props:{container:Boolean},data:{container:!0},computed:{container:function(t){var e=t.container;return!0===e&&this.$container||e&&Ne(e)}}},dr=[],fr={mixins:[pi,lr,gi],props:{selPanel:String,selClose:String,escClose:Boolean,bgClose:Boolean,stack:Boolean},data:{cls:"bdt-open",escClose:!0,bgClose:!0,overlay:!0,stack:!1},computed:{panel:function(t,e){return Ne(t.selPanel,e)},transitionElement:function(){return this.panel},bgClose:function(t){return t.bgClose&&this.panel}},beforeDisconnect:function(){this.isToggled()&&this.toggleElement(this.$el,!1,!1)},events:[{name:"click",delegate:function(){return this.selClose},handler:function(t){t.preventDefault(),this.hide()}},{name:"toggle",self:!0,handler:function(t){t.defaultPrevented||(t.preventDefault(),this.isToggled()===b(dr,this)&&this.toggle())}},{name:"beforeshow",self:!0,handler:function(t){if(b(dr,this))return!1;!this.stack&&dr.length?(ae.all(dr.map(function(t){return t.hide()})).then(this.show),t.preventDefault()):dr.push(this)}},{name:"show",self:!0,handler:function(){var o=this;dn(window)-dn(document)&&this.overlay&&Re(document.body,"overflowY","scroll"),this.stack&&Re(this.$el,"zIndex",F(Re(this.$el,"zIndex"))+dr.length),ze(document.documentElement,this.clsPage),this.bgClose&&Jt(this.$el,"hide",Xt(document,gt,function(t){var r=t.target;J(dr)!==o||o.overlay&&!qt(r,o.$el)||qt(r,o.panel)||Jt(document,vt+" "+xt+" scroll",function(t){var e=t.defaultPrevented,n=t.type,i=t.target;e||n!==vt||r!==i||o.hide()},!0)}),{self:!0}),this.escClose&&Jt(this.$el,"hide",Xt(document,"keydown",function(t){27===t.keyCode&&J(dr)===o&&(t.preventDefault(),o.hide())}),{self:!0})}},{name:"hidden",self:!0,handler:function(){var e=this;dr.splice(dr.indexOf(this),1),dr.length||Re(document.body,"overflowY",""),Re(this.$el,"zIndex",""),dr.some(function(t){return t.clsPage===e.clsPage})||Be(document.documentElement,this.clsPage)}}],methods:{toggle:function(){return this.isToggled()?this.hide():this.show()},show:function(){var e=this;return this.container&&this.$el.parentNode!==this.container?(be(this.container,this.$el),new ae(function(t){return requestAnimationFrame(function(){return e.show().then(t)})})):this.toggleElement(this.$el,!0,pr(this))},hide:function(){return this.toggleElement(this.$el,!1,pr(this))}}};function pr(t){var s=t.transitionElement,a=t._toggle;return function(r,o){return new ae(function(n,i){return Jt(r,"show hide",function(){r._reject&&r._reject(),r._reject=i,a(r,o);var t=Jt(s,"transitionstart",function(){Jt(s,"transitionend transitioncancel",n,{self:!0}),clearTimeout(e)},{self:!0}),e=setTimeout(function(){t(),n()},U(Re(s,"transitionDuration")))})})}}var gr={install:function(t){var a=t.modal;function e(t,e,n,i){e=G({bgClose:!1,escClose:!0,labels:a.labels},e);var r=a.dialog(t(e),e),o=new se,s=!1;return Xt(r.$el,"submit","form",function(t){t.preventDefault(),o.resolve(i&&i(r)),s=!0,r.hide()}),Xt(r.$el,"hide",function(){return!s&&n(o)}),o.promise.dialog=r,o.promise}a.dialog=function(t,e){var n=a('
      '+t+"
      ",e);return n.show(),Xt(n.$el,"hidden",function(){return ae.resolve().then(function(){return n.$destroy(!0)})},{self:!0}),n},a.alert=function(n,t){return e(function(t){var e=t.labels;return'
      '+(z(n)?n:we(n))+'
      "},t,function(t){return t.resolve()})},a.confirm=function(n,t){return e(function(t){var e=t.labels;return'
      '+(z(n)?n:we(n))+'
      "},t,function(t){return t.reject()})},a.prompt=function(n,i,t){return e(function(t){var e=t.labels;return'
      "},t,function(t){return t.resolve(null)},function(t){return Ne("input",t.$el).value})},a.labels={ok:"Ok",cancel:"Cancel"}},mixins:[fr],data:{clsPage:"bdt-modal-page",selPanel:".bdt-modal-dialog",selClose:".bdt-modal-close, .bdt-modal-close-default, .bdt-modal-close-outside, .bdt-modal-close-full"},events:[{name:"show",self:!0,handler:function(){He(this.panel,"bdt-margin-auto-vertical")?ze(this.$el,"bdt-flex"):Re(this.$el,"display","block"),ln(this.$el)}},{name:"hidden",self:!0,handler:function(){Re(this.$el,"display",""),Be(this.$el,"bdt-flex")}}]};var mr={extends:vi,data:{targets:"> .bdt-parent",toggle:"> a",content:"> ul"}},vr={mixins:[pi,Mi],props:{dropdown:String,mode:"list",align:String,offset:Number,boundary:Boolean,boundaryAlign:Boolean,clsDrop:String,delayShow:Number,delayHide:Number,dropbar:Boolean,dropbarMode:String,dropbarAnchor:Boolean,duration:Number},data:{dropdown:".bdt-navbar-nav > li",align:lt?"right":"left",clsDrop:"bdt-navbar-dropdown",mode:void 0,offset:void 0,delayShow:void 0,delayHide:void 0,boundaryAlign:void 0,flip:"x",boundary:!0,dropbar:!1,dropbarMode:"slide",dropbarAnchor:!1,duration:200,forceHeight:!0,selMinHeight:".bdt-navbar-nav > li > a, .bdt-navbar-item, .bdt-navbar-toggle"},computed:{boundary:function(t,e){var n=t.boundary,i=t.boundaryAlign;return!0===n||i?e:n},dropbarAnchor:function(t,e){return yt(t.dropbarAnchor,e)},pos:function(t){return"bottom-"+t.align},dropbar:{get:function(t){var e=t.dropbar;return e?(e=this._dropbar||yt(e,this.$el)||Ne("+ .bdt-navbar-dropbar",this.$el))||(this._dropbar=Ne("
      ")):null},watch:function(t){ze(t,"bdt-navbar-dropbar")},immediate:!0},dropdowns:{get:function(t,e){return Me(t.dropdown+" ."+t.clsDrop,e)},watch:function(t){var e=this;this.$create("drop",t.filter(function(t){return!e.getDropdown(t)}),G({},this.$props,{boundary:this.boundary,pos:this.pos,offset:this.dropbar||this.offset}))},immediate:!0}},disconnected:function(){this.dropbar&&$e(this.dropbar),delete this._dropbar},events:[{name:"mouseover",delegate:function(){return this.dropdown},handler:function(t){var e=t.current,n=this.getActive();n&&n.toggle&&!qt(n.toggle.$el,e)&&!n.tracker.movesTo(n.$el)&&n.hide(!1)}},{name:"mouseleave",el:function(){return this.dropbar},handler:function(){var t=this.getActive();t&&!this.dropdowns.some(function(t){return Dt(t,":hover")})&&t.hide()}},{name:"beforeshow",capture:!0,filter:function(){return this.dropbar},handler:function(){this.dropbar.parentNode||ye(this.dropbarAnchor||this.$el,this.dropbar)}},{name:"show",filter:function(){return this.dropbar},handler:function(t,e){var n=e.$el,i=e.dir;He(n,this.clsDrop)&&("slide"===this.dropbarMode&&ze(this.dropbar,"bdt-navbar-dropbar-slide"),this.clsDrop&&ze(n,this.clsDrop+"-dropbar"),"bottom"===i&&this.transitionTo(n.offsetHeight+F(Re(n,"marginTop"))+F(Re(n,"marginBottom")),n))}},{name:"beforehide",filter:function(){return this.dropbar},handler:function(t,e){var n=e.$el,i=this.getActive();Dt(this.dropbar,":hover")&&i&&i.$el===n&&t.preventDefault()}},{name:"hide",filter:function(){return this.dropbar},handler:function(t,e){var n,i=e.$el;!He(i,this.clsDrop)||(!(n=this.getActive())||n&&n.$el===i)&&this.transitionTo(0)}}],methods:{getActive:function(){var t=this.dropdowns.map(this.getDropdown).filter(function(t){return t&&t.isActive()})[0];return t&&b(t.mode,"hover")&&qt(t.toggle.$el,this.$el)&&t},transitionTo:function(t,e){var n=this,i=this.dropbar,r=Ft(i)?ln(i):0;return Re(e=r"),ze(this.panel.parentNode,this.clsMode)),Re(document.documentElement,"overflowY",this.overlay?"hidden":""),ze(document.body,this.clsContainer,this.clsFlip),Re(document.body,"touch-action","pan-y pinch-zoom"),Re(this.$el,"display","block"),ze(this.$el,this.clsOverlay),ze(this.panel,this.clsSidebarAnimation,"reveal"!==this.mode?this.clsMode:""),ln(document.body),ze(document.body,this.clsContainerAnimation),this.clsContainerAnimation&&(br().content+=",user-scalable=0")}},{name:"hide",self:!0,handler:function(){Be(document.body,this.clsContainerAnimation),Re(document.body,"touch-action","")}},{name:"hidden",self:!0,handler:function(){var t;this.clsContainerAnimation&&((t=br()).content=t.content.replace(/,user-scalable=0$/,"")),"reveal"===this.mode&&Te(this.panel),Be(this.panel,this.clsSidebarAnimation,this.clsMode),Be(this.$el,this.clsOverlay),Re(this.$el,"display",""),Be(document.body,this.clsContainer,this.clsFlip),Re(document.documentElement,"overflowY","")}},{name:"swipeLeft swipeRight",handler:function(t){this.isToggled()&&c(t.type,"Left")^this.flip&&this.hide()}}]};function br(){return Ne('meta[name="viewport"]',document.head)||be(document.head,'')}var xr={mixins:[pi],props:{selContainer:String,selContent:String},data:{selContainer:".bdt-modal",selContent:".bdt-modal-dialog"},computed:{container:function(t,e){return Bt(e,t.selContainer)},content:function(t,e){return Bt(e,t.selContent)}},connected:function(){Re(this.$el,"minHeight",150)},update:{read:function(){return!(!this.content||!this.container)&&{current:F(Re(this.$el,"maxHeight")),max:Math.max(150,ln(this.container)-(an(this.content).height-ln(this.$el)))}},write:function(t){var e=t.current,n=t.max;Re(this.$el,"maxHeight",n),Math.round(e)!==Math.round(n)&&Kt(this.$el,"resize")},events:["resize"]}},yr={props:["width","height"],connected:function(){ze(this.$el,"bdt-responsive-width")},update:{read:function(){return!!(Ft(this.$el)&&this.width&&this.height)&&{width:dn(this.$el.parentNode),height:this.height}},write:function(t){ln(this.$el,rt.contain({height:this.height,width:this.width},t).height)},events:["resize"]}},kr={props:{offset:Number},data:{offset:0},methods:{scrollTo:function(t){var e=this;t=t&&Ne(t)||document.body,Kt(this.$el,"beforescroll",[this,t])&&Un(t,{offset:this.offset}).then(function(){return Kt(e.$el,"scrolled",[e,t])})}},events:{click:function(t){t.defaultPrevented||(t.preventDefault(),this.scrollTo(Ht(decodeURIComponent(this.$el.hash)).substr(1)))}}},$r="_ukScrollspy",Ir={args:"cls",props:{cls:String,target:String,hidden:Boolean,offsetTop:Number,offsetLeft:Number,repeat:Boolean,delay:Number},data:function(){return{cls:!1,target:!1,hidden:!0,offsetTop:0,offsetLeft:0,repeat:!1,delay:0,inViewClass:"bdt-scrollspy-inview"}},computed:{elements:{get:function(t,e){var n=t.target;return n?Me(n,e):[e]},watch:function(t){this.hidden&&Re(Rt(t,":not(."+this.inViewClass+")"),"visibility","hidden")},immediate:!0}},update:[{read:function(t){var e=this;t.update&&this.elements.forEach(function(t){t[$r]||(t[$r]={cls:ut(t,"bdt-scrollspy-class")||e.cls}),t[$r].show=Rn(t,e.offsetTop,e.offsetLeft)})},write:function(i){var r=this;if(!i.update)return this.$emit(),i.update=!0;this.elements.forEach(function(e){function t(t){Re(e,"visibility",!t&&r.hidden?"hidden":""),Le(e,r.inViewClass,t),Le(e,n.cls),Kt(e,t?"inview":"outview"),n.inview=t,r.$update(e)}var n=e[$r];!n.show||n.inview||n.queued?!n.show&&n.inview&&!n.queued&&r.repeat&&t(!1):(n.queued=!0,i.promise=(i.promise||ae.resolve()).then(function(){return new ae(function(t){return setTimeout(t,r.delay)})}).then(function(){t(!0),setTimeout(function(){n.queued=!1,r.$emit()},300)}))})},events:["scroll","resize"]}]},Sr={props:{cls:String,closest:String,scroll:Boolean,overflow:Boolean,offset:Number},data:{cls:"bdt-active",closest:!1,scroll:!1,overflow:!0,offset:0},computed:{links:{get:function(t,e){return Me('a[href^="#"]',e).filter(function(t){return t.hash})},watch:function(t){this.scroll&&this.$create("scroll",t,{offset:this.offset||0})},immediate:!0},targets:function(){return Me(this.links.map(function(t){return Ht(t.hash).substr(1)}).join(","))},elements:function(t){var e=t.closest;return Bt(this.links,e||"*")}},update:[{read:function(){var n=this,t=this.targets.length;if(!t||!Ft(this.$el))return!1;var e=J(Xn(this.targets[0])),i=e.scrollTop,r=e.scrollHeight,o=Gn(e),s=r-an(o).height,a=!1;return i===s?a=t-1:(this.targets.every(function(t,e){if(cn(t,o).top-n.offset<=0)return a=e,!0}),!1===a&&this.overflow&&(a=0)),{active:a}},write:function(t){var e=t.active;this.links.forEach(function(t){return t.blur()}),Be(this.elements,this.cls),!1!==e&&Kt(this.$el,"active",[e,ze(this.elements[e],this.cls)])},events:["scroll","resize"]}]},Tr={mixins:[pi,cr],props:{top:null,bottom:Boolean,offset:String,animation:String,clsActive:String,clsInactive:String,clsFixed:String,clsBelow:String,selTarget:String,widthElement:Boolean,showOnUp:Boolean,targetOffset:Number},data:{top:0,bottom:!1,offset:0,animation:"",clsActive:"bdt-active",clsInactive:"",clsFixed:"bdt-sticky-fixed",clsBelow:"bdt-sticky-below",selTarget:"",widthElement:!1,showOnUp:!1,targetOffset:!1},computed:{offset:function(t){return bn(t.offset)},selTarget:function(t,e){var n=t.selTarget;return n&&Ne(n,e)||e},widthElement:function(t,e){return yt(t.widthElement,e)||this.placeholder},isActive:{get:function(){return He(this.selTarget,this.clsActive)},set:function(t){t&&!this.isActive?(Oe(this.selTarget,this.clsInactive,this.clsActive),Kt(this.$el,"active")):t||He(this.selTarget,this.clsInactive)||(Oe(this.selTarget,this.clsActive,this.clsInactive),Kt(this.$el,"inactive"))}}},connected:function(){this.placeholder=Ne("+ .bdt-sticky-placeholder",this.$el)||Ne('
      '),this.isFixed=!1,this.isActive=!1},disconnected:function(){this.isFixed&&(this.hide(),Be(this.selTarget,this.clsInactive)),$e(this.placeholder),this.placeholder=null,this.widthElement=null},events:[{name:"load hashchange popstate",el:ct&&window,handler:function(){var i,r=this;!1!==this.targetOffset&&location.hash&&0this.topOffset?(rn.cancel(this.$el),rn.out(this.$el,this.animation).then(function(){return n.hide()},et)):this.hide()}else this.isFixed?this.update():this.animation?(rn.cancel(this.$el),this.show(),rn.in(this.$el,this.animation).catch(et)):this.show()},events:["resize","scroll"]}],methods:{show:function(){this.isFixed=!0,this.update(),this.placeholder.hidden=!1},hide:function(){this.isActive=!1,Be(this.$el,this.clsFixed,this.clsBelow),Re(this.$el,{position:"",top:"",width:""}),this.placeholder.hidden=!0},update:function(){var t=0!==this.top||this.scroll>this.top,e=Math.max(0,this.offset);P(this.bottom)&&this.scroll>this.bottom-this.offset&&(e=this.bottom-this.scroll),Re(this.$el,{position:"fixed",top:e+"px",width:this.width}),this.isActive=t,Le(this.$el,this.clsBelow,this.scroll>this.bottomOffset),ze(this.$el,this.clsFixed)}}};function Er(t,e){var n=e.$props,i=e.$el,r=e[t+"Offset"],o=n[t];if(o)return z(o)&&o.match(/^-?\d/)?r+bn(o):an(!0===o?i.parentNode:yt(o,i)).bottom}var _r,Cr,Ar,Nr={mixins:[gi],args:"connect",props:{connect:String,toggle:String,active:Number,swiping:Boolean},data:{connect:"~.bdt-switcher",toggle:"> * > :first-child",active:0,swiping:!0,cls:"bdt-active",clsContainer:"bdt-switcher",attrItem:"bdt-switcher-item"},computed:{connects:{get:function(t,e){return kt(t.connect,e)},watch:function(t){var e=this;t.forEach(function(t){return e.updateAria(t.children)}),this.swiping&&Re(t,"touch-action","pan-y pinch-zoom")},immediate:!0},toggles:{get:function(t,e){return Me(t.toggle,e).filter(function(t){return!Dt(t,".bdt-disabled *, .bdt-disabled, [disabled]")})},watch:function(t){var e=this.index();this.show(~e&&e||t[this.active]||t[0])},immediate:!0},children:function(){var t=this;return Yt(this.$el).filter(function(e){return t.toggles.some(function(t){return qt(t,e)})})}},events:[{name:"click",delegate:function(){return this.toggle},handler:function(t){b(this.toggles,t.current)&&(t.preventDefault(),this.show(t.current))}},{name:"click",el:function(){return this.connects},delegate:function(){return"["+this.attrItem+"],[data-"+this.attrItem+"]"},handler:function(t){t.preventDefault(),this.show(ut(t.current,this.attrItem))}},{name:"swipeRight swipeLeft",filter:function(){return this.swiping},el:function(){return this.connects},handler:function(t){var e=t.type;this.show(c(e,"Left")?"next":"previous")}}],methods:{index:function(){var e=this;return y(this.children,function(t){return He(t,e.cls)})},show:function(t){var n=this,i=this.index(),r=me(t,this.toggles,i);i!==r&&(this.children.forEach(function(t,e){Le(t,n.cls,r===e),ot(n.toggles[e],"aria-expanded",r===e)}),this.connects.forEach(function(t){var e=t.children;return n.toggleElement(V(e).filter(function(t,e){return e!==r&&n.isToggled(t)}),!1,0<=i).then(function(){return n.toggleElement(e[r],!0,0<=i)})}))}}},Mr={mixins:[pi],extends:Nr,props:{media:Boolean},data:{media:960,attrItem:"bdt-tab-item"},connected:function(){var t=He(this.$el,"bdt-tab-left")?"bdt-tab-left":!!He(this.$el,"bdt-tab-right")&&"bdt-tab-right";t&&this.$create("toggle",this.$el,{cls:t,mode:"media",media:this.media})}},Dr={mixins:[cr,gi],args:"target",props:{href:String,target:null,mode:"list",queued:Boolean},data:{href:!1,target:!1,mode:"click",queued:!0},computed:{target:{get:function(t,e){var n=t.href,i=t.target;return(i=kt(i||n,e)).length&&i||[e]},watch:function(){Kt(this.target,"updatearia",[this])},immediate:!0}},events:[{name:wt+" "+bt,filter:function(){return b(this.mode,"hover")},handler:function(t){re(t)||this.toggle("toggle"+(t.type===wt?"show":"hide"))}},{name:"click",filter:function(){return b(this.mode,"click")||pt&&b(this.mode,"hover")},handler:function(t){var e;(Bt(t.target,'a[href="#"], a[href=""]')||(e=Bt(t.target,"a[href]"))&&(this.cls&&!He(this.target,this.cls.split(" ")[0])||!Ft(this.target)||e.hash&&Dt(this.target,e.hash)))&&t.preventDefault(),this.toggle()}}],update:{read:function(){return!(!b(this.mode,"media")||!this.media)&&{match:this.matchMedia}},write:function(t){var e=t.match,n=this.isToggled(this.target);(e?!n:n)&&this.toggle()},events:["resize"]},methods:{toggle:function(t){var e,n=this;Kt(this.target,t||"toggle",[this])&&(this.queued?(e=this.target.filter(this.isToggled),this.toggleElement(e,!1).then(function(){return n.toggleElement(n.target.filter(function(t){return!b(e,t)}),!0)})):this.toggleElement(this.target))}}};K(Object.freeze({__proto__:null,Accordion:vi,Alert:bi,Cover:yi,Drop:Ii,Dropdown:Ii,FormCustom:Si,Gif:Ti,Grid:Ni,HeightMatch:Di,HeightViewport:Pi,Icon:qi,Img:Zi,Leader:hr,Margin:Ei,Modal:gr,Nav:mr,Navbar:vr,Offcanvas:wr,OverflowAuto:xr,Responsive:yr,Scroll:kr,Scrollspy:Ir,ScrollspyNav:Sr,Sticky:Tr,Svg:Hi,Switcher:Nr,Tab:Mr,Toggle:Dr,Video:xi,Close:Gi,Spinner:Ji,SlidenavNext:Yi,SlidenavPrevious:Yi,SearchIcon:Xi,Marker:Ui,NavbarToggleIcon:Ui,OverlayIcon:Ui,PaginationNext:Ui,PaginationPrevious:Ui,Totop:Ui}),function(t,e){return ti.component(e,t)}),ti.use(function(r){ct&&pe(function(){var e;r.update(),Xt(window,"load resize",function(){return r.update(null,"resize")}),Xt(document,"loadedmetadata load",function(t){var e=t.target;return r.update(e,"resize")},!0),Xt(window,"scroll",function(t){e||(e=!0,yn.write(function(){return e=!1}),r.update(null,t.type))},{passive:!0,capture:!0});var n,i=0;Xt(document,"animationstart",function(t){var e=t.target;(Re(e,"animationName")||"").match(/^bdt-.*(left|right)/)&&(i++,Re(document.body,"overflowX","hidden"),setTimeout(function(){--i||Re(document.body,"overflowX","")},U(Re(e,"animationDuration"))+100))},!0),Xt(document,gt,function(t){var s,a;n&&n(),re(t)&&(s=oe(t),a="tagName"in t.target?t.target:t.target.parentNode,n=Jt(document,vt+" "+xt,function(t){var e=oe(t),r=e.x,o=e.y;(a&&r&&100=Math.abs(e-i)?0
      "}).join("")),e.forEach(function(t,e){return n.children[e].textContent=t}))})}},methods:{start:function(){this.stop(),this.date&&this.units.length&&(this.$update(),this.timer=setInterval(this.$update,1e3))},stop:function(){this.timer&&(clearInterval(this.timer),this.timer=null)}}};var Br,Pr="bdt-animation-target",Or={props:{animation:Number},data:{animation:150},methods:{animate:function(t,i){var n=this;void 0===i&&(i=this.$el),function(){if(Br)return;(Br=be(document.head,"